   (interactive (list 'interactive))
   (cl-case command
     (interactive (company-begin-backend 'company-intero))
-    (prefix (let ((prefix-info (intero-completions-grab-prefix)))
-              (when prefix-info
-                (cl-destructuring-bind
-                    (beg end prefix _type) prefix-info
-                  prefix))))
+    (prefix
+     (unless (intero-gave-up 'backend)
+       (let ((prefix-info (intero-completions-grab-prefix)))
+         (when prefix-info
+           (cl-destructuring-bind
+               (beg end prefix _type) prefix-info
+             prefix)))))
     (candidates
-     (let ((prefix-info (intero-completions-grab-prefix)))
-       (when prefix-info
-         (cl-destructuring-bind
-             (beg end prefix _type) prefix-info
-           (intero-get-completions beg end)))))))
+     (unless (intero-gave-up 'backend)
+       (let ((prefix-info (intero-completions-grab-prefix)))
+         (when prefix-info
+           (cl-destructuring-bind
+               (beg end prefix _type) prefix-info
+             (intero-get-completions beg end))))))))
 
 (defun intero-completions-grab-prefix (&optional minlen)
   "Grab prefix at point for possible completion."

      (cd default-directory)
      (current-buffer))))

(defun intero-buffer-p (worker)
  "Does a buffer exist for a given worker?"
  (get-buffer (intero-buffer-name worker)))

      (if (with-current-buffer (process-buffer process)
            intero-deleting)
          (message "Intero process deleted.")
        (progn (with-current-buffer (process-buffer process)
                 (setq-local intero-give-up t))
               (intero-show-process-problem process change))))))

(defun intero-installed-p ()
  "Is intero (of the right version) installed in the stack environment?"
