     (while (and (not found-match) (not done))
       (if go--fontify-param-has-name
           (when (looking-at go--named-param-re)
+            (when (not go-fontify-variables)
+              (let ((md (match-data)))
+                (setf (nth 2 md) nil (nth 3 md) nil)
+                (set-match-data md)))
             (setq found-match t))
         (when (looking-at go--unnamed-param-re)
           (setq found-match t)))

     ;; Match variable names in var decls, constant names in const
     ;; decls, and type names in type decls.
     (go--match-decl
      (1 ,(if go-fontify-variables 'font-lock-variable-name-face 'go--default-face) nil t)
      (2 font-lock-constant-face nil t)
      (3 font-lock-type-face nil t))


          (let ((md (match-data)))
            (cond
             ((string= decl "var")
              (setf (nth 4 md) nil (nth 5 md) nil (nth 6 md) nil (nth 7 md) nil)
              (when (not go-fontify-variables)
                (setf (nth 2 md) nil (nth 3 md) nil)))
             ((string= decl "const")
              (setf (nth 2 md) nil (nth 3 md) nil (nth 6 md) nil (nth 7 md) nil))
             ((string= decl "type")
              (setf (nth 2 md) nil (nth 3 md) nil (nth 4 md) nil (nth 5 md) nil)))
            (set-match-data md)))

         (go-fontify-variables
          (save-match-data
            ;; Left side of ":=" assignmnet.
            (when (looking-at ".*:=")
