                 ;; never opens a pseudoterminal.
                 (apply 'call-process svn-exe nil proc-buf nil arglist))
               (setq svn-status-mode-line-process-status "")
-              (svn-status-update-mode-line)))
-          (setq svn-status-pre-run-svn-buffer (current-buffer))))
+              (svn-status-update-mode-line)
+              (when svn-pre-run-mode-line-process
+                (setq mode-line-process svn-pre-run-mode-line-process)
+                (setq svn-pre-run-mode-line-process nil))))))
     (error "You can only run one svn process at once!")))
 
 (defun svn-process-sentinel-fixup-path-seperators ()

      (set-buffer proc-buf)
      (setq default-directory dir
            svn-status-remote (when arg t))
      (svn-run t t 'status "status" status-option))))

(defun svn-status-this-directory (arg)

(defvar svn-status-edit-svn-command nil)
(defvar svn-status-update-previous-process-output nil)
(defvar svn-pre-run-asynch-recent-keys nil)
(defvar svn-pre-run-mode-line-process nil)
(defvar svn-status-temp-dir
  (expand-file-name
   (or
