riece-command-nick-scroll-up.
        (riece-command-scroll-down): Check if riece-current-channel is bound.
        (riece-command-scroll-up): Ditto.
+       (riece-command-quit): Clean up if no server process is available.
 
 2003-10-25  Daiki Ueno  <ueno@unixuser.org>
 
 
   (riece-update-status-indicators)
   (force-mode-line-update t))
 
+(eval-when-compile
+  (autoload 'riece-exit "riece"))
 (defun riece-command-quit (&optional arg)
   "Quit IRC."
   (interactive "P")
   (if (y-or-n-p "Really quit IRC? ")
-      (let ((message
-            (if arg
-                (read-string "Message: ")
-              (or riece-quit-message
-                  (riece-extended-version))))
-           (alist riece-server-process-alist))
-       (while alist
-         (riece-quit-server-process (cdr (car alist)) message)
-         (setq alist (cdr alist))))))
+      (if riece-server-process-alist
+         (let ((message
+                (if arg
+                    (read-string "Message: ")
+                  (or riece-quit-message
+                      (riece-extended-version))))
+               (alist riece-server-process-alist))
+           (while alist
+             (riece-quit-server-process (cdr (car alist)) message)
+             (setq alist (cdr alist))))
+       ;; If no server process is available, exit immediately.
+       (riece-exit))))
 
 (defun riece-command-raw (command)
   "Enter raw IRC command, which is sent to the server."