diff --git a/model_server/base/accessors.py b/model_server/base/accessors.py
index 4175ef9c09c9f78d4382750c000c0e264da5fe12..1241548a2c74e6dc2bc7ef0cc3913b5d258030e1 100644
--- a/model_server/base/accessors.py
+++ b/model_server/base/accessors.py
@@ -29,6 +29,10 @@ class GenericImageDataAccessor(ABC):
     def loaded(self):
         return self._data is not None
 
+    def unload(self):
+        self._data = None
+        self._metadata = None
+
     @property
     def chroma(self):
         return self.shape_dict['C']
diff --git a/model_server/base/session.py b/model_server/base/session.py
index 5f8c6611e7cd476a4d4a83cc53289d6b94744635..c61d6a6ea34bb316e21cbd61a94a736ac17656fa 100644
--- a/model_server/base/session.py
+++ b/model_server/base/session.py
@@ -186,6 +186,7 @@ class _Session(object):
         self.log_info(f'Deleted accessor {accessor_id}')
         return accessor_id
 
+    # TODO: call unload method on file-backed accessors
     def del_all_accessors(self) -> list[str]:
         """
         Remove (unload) all accessors but keep their info in dictionary
diff --git a/tests/base/test_accessors.py b/tests/base/test_accessors.py
index 2d9e9a6d2e6248021fdacef21e6024a3ca6d26a9..bef1506d8b08b256b645a8de6ed8904ef1c6cb1a 100644
--- a/tests/base/test_accessors.py
+++ b/tests/base/test_accessors.py
@@ -229,15 +229,23 @@ class TestCziImageFileAccess(unittest.TestCase):
         )
 
     def test_lazy_load(self):
+        # initialize an accessor with lazy flag
         acc_cf = generate_file_accessor(data['czifile']['path'], lazy=True)
-        self.assertEqual(acc_cf._data, None)
-        self.assertEqual(acc_cf._metadata, None)
+        self.assertIsNone(acc_cf._data)
+        self.assertIsNone(acc_cf._metadata)
+
+        # implicitly load by accessing its data property
         nda = acc_cf.data
         self.assertIsNotNone(acc_cf._data)
         self.assertIsNotNone(acc_cf._metadata)
         self.assertIsInstance(acc_cf._data, np.ndarray)
         self.assertIsInstance(acc_cf._metadata, dict)
 
+        # explicitly unload
+        acc_cf.unload()
+        self.assertIsNone(acc_cf._data)
+        self.assertIsNone(acc_cf._metadata)
+
 
 class TestPatchStackAccessor(unittest.TestCase):
     def setUp(self) -> None: