diff --git a/tests/test27cells.c b/tests/test27cells.c
index eca38b239db802d973000622af7dfc25bded6424..f1f10c13f8d517afcd6957a7d651965c0008f0d0 100644
--- a/tests/test27cells.c
+++ b/tests/test27cells.c
@@ -443,6 +443,13 @@ int main(int argc, char *argv[]) {
 
 #if !(defined(MINIMAL_SPH) && defined(WITH_VECTORIZATION))
 
+#ifdef WITH_VECTORIZATION
+    runner.par_cache.count = 0;
+    cache_init(&runner.par_cache, 512);
+    cj_cache.count = 0;
+    cache_init(&cj_cache, 512);
+#endif
+
     /* Run all the pairs */
     for (int j = 0; j < 27; ++j) {
       if (cells[j] != main_cell) {
@@ -456,11 +463,6 @@ int main(int argc, char *argv[]) {
     }
 
 /* And now the self-interaction */
-#ifdef WITH_VECTORIZATION
-    runner.par_cache.count = 0;
-    cache_init(&runner.par_cache, 512);
-#endif
-
     const ticks self_tic = getticks();
 
     DOSELF1(&runner, main_cell);