diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/doc/MultiColumnExtension.java b/gitiles-servlet/src/main/java/com/google/gitiles/doc/MultiColumnExtension.java
index da1a068..aeb3d89 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/doc/MultiColumnExtension.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/doc/MultiColumnExtension.java
@@ -161,12 +161,13 @@
       int s = state.getNextNonSpaceIndex();
       CharSequence line = state.getLine();
       CharSequence text = line.subSequence(s, line.length());
-      if (text.length() >= MARKER.length()
-          && MARKER.contentEquals(text.subSequence(0, MARKER.length()))) {
-        String layout = text.subSequence(MARKER.length(), line.length()).toString().trim();
-        return BlockStart.of(new MultiColumnParser(layout)).atIndex(line.length());
+      if (text.length() < MARKER.length()
+          || !MARKER.contentEquals(text.subSequence(0, MARKER.length()))) {
+        return BlockStart.none();
       }
-      return BlockStart.none();
+
+      String layout = text.subSequence(MARKER.length(), text.length()).toString().trim();
+      return BlockStart.of(new MultiColumnParser(layout)).atIndex(text.length());
     }
   }
 }
