         (while (and
                 (zerop (forward-line -1))
                 (cond
-                 ((go-in-comment-p))
-
                  ((looking-at "^[[:space:]]*$"))
 
                  ((looking-at go--comment-start-regexp)
                   (when (= (current-indentation) (- indent tab-width))
                     (setq has-case-aligned-preceding-comment t))
-                  t))))
+                  t)
+
+                 ((go-in-comment-p)))))
 
         ;; Record if a switch (or select) precedes us.
         (setq switch-before (looking-at "^[[:space:]]*\\(switch\\|select\\)[[:space:]]")))

        (while (and
                (zerop (forward-line 1))
                (or
                 (go-in-comment-p)
                 (looking-at go--comment-start-regexp)
                 (looking-at "^[[:space:]]*$"))))

        (setq case-after (looking-at go--case-or-default-regexp)))


  "Return non-nil if looking at a comment attached to a case statement.

INDENT is the normal indent of this line, i.e. that of the case body."
  (when (and
         (> (current-indentation) 0)
         (looking-at go--comment-start-regexp))

    (let (switch-before
          case-after
          has-case-aligned-preceding-comment)
