diff --git a/tests/conftest.py b/tests/conftest.py
index 701655bf67ad2d28809810c6d7027a8a60cf5e25..f80c0d75626e6b5ae8d5feab9d290c53993f621f 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,4 +1,5 @@
 import socket
+from functools import lru_cache
 from pathlib import Path
 
 import pytest
@@ -32,6 +33,7 @@ def pytest_configure(config):
     )
 
 
+@lru_cache()
 def server_reachable(server: str = "max-exfl017"):
     reachable = True
 
@@ -43,16 +45,11 @@ def server_reachable(server: str = "max-exfl017"):
     return reachable
 
 
-SERVER_REACHABLE = server_reachable()
-
-
 def pytest_runtest_setup(item):
     if list(item.iter_markers(name="requires_gpfs")) and (
         not Path("/gpfs").is_dir() or item.config.getoption("--no-gpfs")
     ):
         pytest.skip("gpfs not available")
 
-    if list(item.iter_markers(name="requires_caldb")) and (
-        not SERVER_REACHABLE or item.config.getoption("--no-caldb")
-    ):
+    if list(item.iter_markers(name="requires_caldb")) and not server_reachable():
         pytest.skip("caldb not available")