diff --git a/python_payload/apps/demo_melodic/pages.py b/python_payload/apps/demo_melodic/pages.py
index 11fe2b9bc2fe43d393bac48c0bc9fb6b8d6f8037..d7894aa24f5312128c2a6d860f3f122f776be189 100644
--- a/python_payload/apps/demo_melodic/pages.py
+++ b/python_payload/apps/demo_melodic/pages.py
@@ -364,10 +364,13 @@ class AudioModuleSelectPage(Page):
             return isinstance(s, t)
 
         if not module_target_in_slot(self.slot_pages[slot], module_target):
+            deletee = None
             if self.slot_pages[slot] is not None:
-                self.slot_pages[slot].delete()
+                deletee = self.slot_pages[slot]
                 self.slot_pages[slot] = None
             self._insert_module(module_target, slot)
+            if deletee:
+                deletee.delete()
             self._update_parent()
             self._update_module_index()