diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java
index b5a0636..ff48d4d 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java
@@ -168,15 +168,18 @@
 
     for (Ref ref : refs) {
       String name = ref.getName().substring(prefix.length());
-      boolean needPrefix = !ref.getName().equals(refdb.getRef(name).getName());
-      Map<String, Object> value = Maps.newHashMapWithExpectedSize(3);
-      value.put("url", GitilesView.revision().copyFrom(view).setRevision(
-        Revision.unpeeled(needPrefix ? ref.getName() : name, ref.getObjectId())).toUrl());
-      value.put("name", name);
-      if (headLeaf != null) {
-        value.put("isHead", headLeaf.equals(ref));
+      Ref refForName = refdb.getRef(name);
+      if (refForName != null) {
+        boolean needPrefix = !ref.getName().equals(refForName.getName());
+        Map<String, Object> value = Maps.newHashMapWithExpectedSize(3);
+        value.put("url", GitilesView.revision().copyFrom(view).setRevision(
+          Revision.unpeeled(needPrefix ? ref.getName() : name, ref.getObjectId())).toUrl());
+        value.put("name", name);
+        if (headLeaf != null) {
+          value.put("isHead", headLeaf.equals(ref));
+        }
+        result.add(value);
       }
-      result.add(value);
     }
     return result;
   }
