 	 (cscope-show-message (car cscope-first-match)
 			      (cdr cscope-first-match) window)
 	 ))
-     ( update-window
+     ( (and update-window cscope-first-match-point)
        (set-window-point window cscope-first-match-point))
      )
     ))

	    (setq cscope-start-time (+ (* (car times) 65536.0) (car (cdr times))
				       (* (car (cdr (cdr times))) 1.0E-6)))))
      (setq default-directory directory
	    cscope-search-list (cscope-find-info directory)
	    cscope-searched-dirs nil
	    cscope-command-args args
	    cscope-filter-func filter-func
	    cscope-sentinel-func sentinel-func
	    cscope-first-match nil
	    cscope-stop-at-first-match-dir-meta (memq t cscope-search-list)
	    cscope-matched-multiple nil
	    buffer-read-only nil)

(defvar cscope-command-args nil
  "Internal variable for holding major command args to pass to cscope.")
(make-variable-buffer-local 'cscope-command-args)


(defvar cscope-start-directory nil
  "Internal variable used to save the initial start directory.
The results buffer gets reset to this directory when a search has
completely finished.")
(make-variable-buffer-local 'cscope-start-directory)


(defvar cscope-search-list nil
