diff --git a/SAS/TMSS/backend/test/t_adapter.py b/SAS/TMSS/backend/test/t_adapter.py
index be02b92c61a420c5ae1beb9b22ff1ea7ba3a50e4..ecfcbfa3dcd955abadab8aecd76edb0da69ce083 100755
--- a/SAS/TMSS/backend/test/t_adapter.py
+++ b/SAS/TMSS/backend/test/t_adapter.py
@@ -503,7 +503,8 @@ class SIPadapterTest(unittest.TestCase):
         subtask_input.dataproducts.set(related_dataproducts)
         subtask_output = models.SubtaskOutput.objects.create(**SubtaskOutput_test_data(subtask=subtask))
 
-        # create a bunch of main dataproducts (pipeline output) and their SIPs (we create several to test performance):
+        # create a bunch of main dataproducts (pipeline output)
+        main_dataproducts = []
         for i in range(10):
             dataproduct: models.Dataproduct = models.Dataproduct.objects.create(**Dataproduct_test_data(filename='my_main_dataproduct_%s' % i, feedback_doc=feedback_doc, producer=subtask_output,
                                                                                                         dataformat=models.Dataformat.objects.get(value="Beamformed"),
@@ -511,7 +512,11 @@ class SIPadapterTest(unittest.TestCase):
 
             dataproduct.sap = sap
             dataproduct.save()
+            main_dataproducts.append(dataproduct)
 
+        # create their SIPs (separate loop since dataproduct.save() will invalidate cache):
+        for i in range(10):
+            dataproduct = main_dataproducts[i]
             sip = generate_sip_for_dataproduct(dataproduct)
             self.assertIn(str('my_related_dataproduct_42'), sip.get_prettyxml())
             self.assertIn(str(f'my_main_dataproduct_{i}'), sip.get_prettyxml())