diff --git a/.forgejo/workflows/CI.yml b/.forgejo/workflows/CI.yml
index 5b0690c..3c974cb 100644
--- a/.forgejo/workflows/CI.yml
+++ b/.forgejo/workflows/CI.yml
@@ -31,15 +31,17 @@ jobs:
             ~/.roswell
             ~/.config/common-lisp/source-registry.conf.d
             ~/lisp
-          key: roswell-${{ runner.os }}-${{ matrix.lisp }}
+          key: roswell-${{ runner.os }}-${{ matrix.lisp }}-${{ hashFiles('qlfile.lock') }}
 
-      - name: Install Roswell and Qlot
+      - name: Install dependencies
         if: steps.restore-cache.outputs.cache-hit != 'true'
         env:
           LISP: ${{ matrix.lisp }}
         run: |
           curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
           ros install fukamachi/qlot
+          PATH="~/.roswell/bin:$PATH"
+          qlot install
 
       - name: Save cache
         id: save-cache
@@ -53,10 +55,5 @@ jobs:
             ~/lisp
           key: ${{ steps.restore-cache.outputs.cache-primary-key }}
 
-      - name: Install dependencies
-        run: |
-          PATH="~/.roswell/bin:$PATH"
-          qlot install
-      
       - name: Run tests
         run: .qlot/bin/rove hsx.asd