visible mark cur-mark)
     (when (zerop (elmo-folder-length wl-summary-buffer-elmo-folder))
       (error "Set mark failed"))
-    (unless current
-      (error "No message"))
     (prog1
        (save-excursion
          ;; Put mark
                         (and (null number) current))
                number (or number current)
                cur-mark (nth 1 (wl-summary-registered-temp-mark number)))
+         (unless number
+           (error "No message"))
          (if (wl-summary-reserve-temp-mark-p cur-mark)
              (when interactive
                (error "Already marked as `%s'" cur-mark))