diff --git a/hls-call-hierarchy-plugin.cabal b/hls-call-hierarchy-plugin.cabal
--- a/hls-call-hierarchy-plugin.cabal
+++ b/hls-call-hierarchy-plugin.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               hls-call-hierarchy-plugin
-version:            1.0.2.0
+version:            1.0.3.0
 synopsis:           Call hierarchy plugin for Haskell Language Server
 description:
   Please see the README on GitHub at <https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-call-hierarchy-plugin#readme>
@@ -30,9 +30,9 @@
     , containers
     , extra
     , ghc
-    , ghcide                ^>=1.6
+    , ghcide                ^>= 1.6 || ^>= 1.7
     , hiedb
-    , hls-plugin-api        ^>=1.2 || ^>= 1.3
+    , hls-plugin-api        ^>= 1.2 || ^>= 1.3 || ^>= 1.4
     , lens
     , lsp                    >=1.2.0.1
     , sqlite-simple
@@ -55,7 +55,7 @@
     , extra
     , filepath
     , hls-call-hierarchy-plugin
-    , hls-test-utils              ^>=1.2
+    , hls-test-utils              ^>=1.3
     , lens
     , lsp
     , lsp-test
diff --git a/src/Ide/Plugin/CallHierarchy/Internal.hs b/src/Ide/Plugin/CallHierarchy/Internal.hs
--- a/src/Ide/Plugin/CallHierarchy/Internal.hs
+++ b/src/Ide/Plugin/CallHierarchy/Internal.hs
@@ -261,8 +261,6 @@
   -> Action (Maybe [a])
 queryCalls item queryFunc makeFunc merge
   | Just nfp <- uriToNormalizedFilePath $ toNormalizedUri uri = do
-    refreshHieDb
-
     ShakeExtras{withHieDb} <- getShakeExtras
     maySymbol <- getSymbol nfp
     case maySymbol of
@@ -298,36 +296,3 @@
                 Nothing  -> pure Nothing
                 Just res -> pure res
               Nothing -> pure Nothing
-
--- Write modified foi files before queries.
-refreshHieDb :: Action ()
-refreshHieDb = do
-    fs <- HM.keys . HM.filter (/= OnDisk) <$> getFilesOfInterestUntracked
-    forM_ fs (\f -> do
-        tmr <- use_ TypeCheck f
-        hsc <- hscEnv <$> use_ GhcSession f
-        (_, masts) <- liftIO $ generateHieAsts hsc tmr
-        se <- getShakeExtras
-        case masts of
-            Nothing -> pure ()
-            Just asts -> do
-                source <- getSourceFileSource f
-                let exports = tcg_exports $ tmrTypechecked tmr
-                    msum = tmrModSummary tmr
-                liftIO $ writeAndIndexHieFile hsc se msum f exports asts source
-                pure ()
-        )
-    ShakeExtras{hiedbWriter} <- getShakeExtras
-    liftIO $ atomically $ check $ indexPending hiedbWriter
-    where
-      check p = do
-        v <- readTVar p
-        if HM.null v then pure () else retry
-
--- Copy unexport function form `ghcide/src/Development/IDE/Core/Rules.hs`
-getSourceFileSource :: NormalizedFilePath -> Action BS.ByteString
-getSourceFileSource nfp = do
-    (_, msource) <- getFileContents nfp
-    case msource of
-        Nothing     -> liftIO $ BS.readFile (fromNormalizedFilePath nfp)
-        Just source -> pure $ T.encodeUtf8 source
