diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+0.1.33:
+	* Support for GHC 8.4.4
+
 0.1.32:
 	* Support for GHC 8.4.3
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# <img src="https://github.com/commercialhaskell/intero/raw/master/images/intero.svg" height=25> intero [![Build Status](https://travis-ci.org/commercialhaskell/intero.svg)](https://travis-ci.org/commercialhaskell/intero) [![MELPA](https://melpa.org/packages/intero-badge.svg)](https://melpa.org/#/intero) [![MELPA Stable](https://stable.melpa.org/packages/intero-badge.svg)](https://stable.melpa.org/#/intero) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/commercialhaskell/path?svg=true)](https://ci.appveyor.com/project/commercialhaskell/intero)
+# intero [![Build Status](https://travis-ci.org/commercialhaskell/intero.svg)](https://travis-ci.org/commercialhaskell/intero) [![MELPA](https://melpa.org/packages/intero-badge.svg)](https://melpa.org/#/intero) [![MELPA Stable](https://stable.melpa.org/packages/intero-badge.svg)](https://stable.melpa.org/#/intero) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/commercialhaskell/path?svg=true)](https://ci.appveyor.com/project/commercialhaskell/intero)
 
 Complete interactive development program for Haskell
 
diff --git a/elisp/intero.el b/elisp/intero.el
--- a/elisp/intero.el
+++ b/elisp/intero.el
@@ -72,9 +72,9 @@
 (defcustom intero-package-version
   (cl-case system-type
     ;; Until <https://github.com/haskell/network/issues/313> is fixed:
-    (windows-nt "0.1.28")
-    (cygwin "0.1.28")
-    (t "0.1.30"))
+    (windows-nt "0.1.33")
+    (cygwin "0.1.33")
+    (t "0.1.33"))
   "Package version to auto-install.
 
 This version does not necessarily have to be the latest version
@@ -1341,7 +1341,9 @@
          (initial-buffer (current-buffer))
          (backend-buffer (intero-buffer 'backend)))
     (with-current-buffer
-        (or (get-buffer name)
+        (or (let ((buf (get-buffer name)))
+              (and (get-buffer-process buf)
+                   buf))
             (with-current-buffer
                 (get-buffer-create name)
               ;; The new buffer doesn't know if the initial buffer was hosted
@@ -2307,25 +2309,10 @@
 Uses the default stack config file, or STACK-YAML file if given."
   (if (buffer-local-value 'intero-give-up buffer)
       buffer
-    (let* ((options
-            (intero-make-options-list
-             (intero-executable-path stack-yaml)
-             (or targets
-                 (let ((package-name (buffer-local-value 'intero-package-name buffer)))
-                   (unless (equal "" package-name)
-                     (list package-name))))
-             (not (buffer-local-value 'intero-try-with-build buffer))
-             t ;; pass --no-load to stack
-             t ;; pass -ignore-dot-ghci to intero
-             stack-yaml ;; let stack choose a default when nil
-             ))
-           (arguments (cons "ghci" options))
-           (process (with-current-buffer buffer
-                      (when intero-debug
-                        (message "Intero arguments: %s" (combine-and-quote-strings arguments)))
-                      (message "Booting up intero ...")
-                      (apply #'start-file-process "stack" buffer intero-stack-executable
-                             arguments))))
+    (let* ((process-info (intero-start-piped-process buffer targets stack-yaml))
+           (arguments (plist-get process-info :arguments))
+           (options (plist-get process-info :options))
+           (process (plist-get process-info :process)))
       (set-process-query-on-exit-flag process nil)
       (process-send-string process ":set -fobject-code\n")
       (process-send-string process ":set -fdefer-type-errors\n")
@@ -2385,6 +2372,34 @@
       (set-process-sentinel process 'intero-sentinel)
       buffer)))
 
+(defun intero-start-piped-process (buffer targets stack-yaml)
+  "Start a piped process that we control in BUFFER.
+Uses the specified TARGETS if supplied.
+Uses the default stack config file, or STACK-YAML file if given."
+  (let* ((options
+          (intero-make-options-list
+           (intero-executable-path stack-yaml)
+           (or targets
+               (let ((package-name (buffer-local-value 'intero-package-name buffer)))
+                 (unless (equal "" package-name)
+                   (list package-name))))
+           (not (buffer-local-value 'intero-try-with-build buffer))
+           t          ;; pass --no-load to stack
+           t          ;; pass -ignore-dot-ghci to intero
+           stack-yaml ;; let stack choose a default when nil
+           ))
+         (arguments (cons "ghci" options))
+         (process
+          (with-current-buffer buffer
+            (when intero-debug
+              (message "Intero arguments: %s" (combine-and-quote-strings arguments)))
+            (message "Booting up intero ...")
+            (apply #'start-file-process intero-stack-executable buffer intero-stack-executable
+                   arguments))))
+    (list :arguments arguments
+          :options options
+          :process process)))
+
 (defun intero-flycheck-buffer ()
   "Run flycheck in the buffer.
 Restarts flycheck in case there was a problem and flycheck is stuck."
@@ -2418,7 +2433,7 @@
   "Handle when PROCESS reports a CHANGE.
 This is a standard process sentinel function."
   (when (buffer-live-p (process-buffer process))
-    (when (and (not (process-live-p process)))
+    (unless (process-live-p process)
       (let ((buffer (process-buffer process)))
         (if (with-current-buffer buffer intero-deleting)
             (message "Intero process deleted.")
diff --git a/intero.cabal b/intero.cabal
--- a/intero.cabal
+++ b/intero.cabal
@@ -1,7 +1,7 @@
 name:
   intero
 version:
-  0.1.32
+  0.1.33
 synopsis:
   Complete interactive development program for Haskell
 license:
@@ -73,8 +73,7 @@
     bytestring,
     directory,
     filepath,
-    -- We permit any 8.0.1.* or 8.0.2.* or 8.2.1
-    ghc >= 7.8 && <= 8.4.3,
+    ghc >= 7.8 && <= 8.4.4,
     ghc-paths,
     haskeline,
     process,
