diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3a3a1e38..41f8530a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,6 +24,7 @@ jobs:
 
     env:
       NEOVIM_VERSION: ${{ matrix.neovim_version }}
+      IS_CI: 1
 
     steps:
       - name: Checkout
diff --git a/test/preload.lua b/test/preload.lua
deleted file mode 100644
index d49e1d45..00000000
--- a/test/preload.lua
+++ /dev/null
@@ -1,15 +0,0 @@
--- Modules loaded here will not be cleared and reloaded by Busted.
--- Busted started doing this to help provide more isolation.
-local global_helpers = require('test.helpers')
-
--- Bypoass CI behaviour logic
-global_helpers.isCI = function(_)
-  return false
-end
-
--- v0.9
-global_helpers.is_ci = function()
-  return false
-end
-
-local helpers = require('test.functional.helpers')()
diff --git a/test/ts_context_spec.lua b/test/ts_context_spec.lua
index 5865c0c7..113fec71 100644
--- a/test/ts_context_spec.lua
+++ b/test/ts_context_spec.lua
@@ -7,6 +7,11 @@ local cmd      = helpers.api.nvim_command
 local feed     = helpers.feed
 
 local function install_langs(langs)
+  -- Shouldn't need to do this, but CI seems to hang on some languages
+  if os.getenv('IS_CI') then
+    return
+  end
+
   if type(langs) == 'string' then
     langs = {langs}
   end