diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/BlobSoyData.java b/gitiles-servlet/src/main/java/com/google/gitiles/BlobSoyData.java
index 09dd548..45b24fd 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/BlobSoyData.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/BlobSoyData.java
@@ -111,9 +111,9 @@
           "out-of-order ParseResult, expected %s >= %s",
           r.getOffset(),
           last);
-      line = writeResult(lines, null, content, last, r.getOffset());
+      writeResult(lines, null, content, last, r.getOffset());
       last = r.getOffset() + r.getLength();
-      line = writeResult(lines, r.getStyleKeysString(), content, r.getOffset(), last);
+      writeResult(lines, r.getStyleKeysString(), content, r.getOffset(), last);
     }
     if (last < content.length()) {
       writeResult(lines, null, content, last, content.length());
@@ -134,7 +134,7 @@
     }
   }
 
-  private static SoyListData writeResult(
+  private static void writeResult(
       SoyListData lines, String classes, String s, int start, int end) {
     SoyListData line = lines.getListData(lines.length() - 1);
     while (true) {
@@ -146,13 +146,12 @@
 
       start = nl + (isCrNl(s, nl) ? 2 : 1);
       if (start == s.length()) {
-        return null;
+        return;
       }
       line = new SoyListData();
       lines.add(line);
     }
     addSpan(line, classes, s, start, end);
-    return line;
   }
 
   private static void addSpan(SoyListData line, String classes, String s, int start, int end) {
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/doc/GitilesHtmlExtension.java b/gitiles-servlet/src/main/java/com/google/gitiles/doc/GitilesHtmlExtension.java
index 01d4714..2127400 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/doc/GitilesHtmlExtension.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/doc/GitilesHtmlExtension.java
@@ -115,7 +115,6 @@
       // HtmlInline{<a name="id">}HtmlInline{</a>}
       if (isAnchorClose(next)) {
         next.unlink();
-        next = curr.getNext();
 
         NamedAnchor anchor = new NamedAnchor();
         anchor.setName(name);
