diff --git a/src/common/tools/descriptor/Loader.py b/src/common/tools/descriptor/Loader.py
index 0e1d8c7371e87b47bfc47a4242e00039add48e7f..1e238510c98b83bebde8167711b988d7476e5a99 100644
--- a/src/common/tools/descriptor/Loader.py
+++ b/src/common/tools/descriptor/Loader.py
@@ -222,13 +222,13 @@ class DescriptorLoader:
         self.__topologies_add = get_descriptors_add_topologies(self.__topologies)
 
         if self.__dummy_mode:
-            self._dummy_mode()
+            self._load_dummy_mode()
         else:
-            self._normal_mode()
+            self._load_normal_mode()
         
         return self.__results
 
-    def _dummy_mode(self) -> None:
+    def _load_dummy_mode(self) -> None:
         # Dummy Mode: used to pre-load databases (WebUI debugging purposes) with no smart or automated tasks.
         self.__ctx_cli.connect()
         self._process_descr('context',    'add',    self.__ctx_cli.SetContext,    Context,    self.__contexts_add  )
@@ -242,7 +242,7 @@ class DescriptorLoader:
         self._process_descr('topology',   'update', self.__ctx_cli.SetTopology,   Topology,   self.__topologies    )
         #self.__ctx_cli.close()
 
-    def _normal_mode(self) -> None:
+    def _load_normal_mode(self) -> None:
         # Normal mode: follows the automated workflows in the different components
         assert len(self.__connections) == 0, 'in normal mode, connections should not be set'
 
@@ -321,7 +321,35 @@ class DescriptorLoader:
             response = self.__ctx_cli.ListSlices(ContextId(**json_context_id(context_uuid)))
             assert len(response.slices) == num_slices
 
-    def unload(self) -> None:
+    def _unload_dummy_mode(self) -> None:
+        # Dummy Mode: used to pre-load databases (WebUI debugging purposes) with no smart or automated tasks.
+        self.__ctx_cli.connect()
+
+        for _, slice_list in self.slices.items():
+            for slice_ in slice_list:
+                self.__ctx_cli.RemoveSlice(SliceId(**slice_['slice_id']))
+
+        for _, service_list in self.services.items():
+            for service in service_list:
+                self.__ctx_cli.RemoveService(ServiceId(**service['service_id']))
+
+        for link in self.links:
+            self.__ctx_cli.RemoveLink(LinkId(**link['link_id']))
+
+        for device in self.devices:
+            self.__ctx_cli.RemoveDevice(DeviceId(**device['device_id']))
+
+        for _, topology_list in self.topologies.items():
+            for topology in topology_list:
+                self.__ctx_cli.RemoveTopology(TopologyId(**topology['topology_id']))
+
+        for context in self.contexts:
+            self.__ctx_cli.RemoveContext(ContextId(**context['context_id']))
+
+        #self.__ctx_cli.close()
+
+    def _unload_normal_mode(self) -> None:
+        # Normal mode: follows the automated workflows in the different components
         self.__ctx_cli.connect()
         self.__dev_cli.connect()
         self.__svc_cli.connect()
@@ -348,6 +376,17 @@ class DescriptorLoader:
         for context in self.contexts:
             self.__ctx_cli.RemoveContext(ContextId(**context['context_id']))
 
+        #self.__ctx_cli.close()
+        #self.__dev_cli.close()
+        #self.__svc_cli.close()
+        #self.__slc_cli.close()
+
+    def unload(self) -> None:
+        if self.__dummy_mode:
+            self._unload_dummy_mode()
+        else:
+            self._unload_normal_mode()
+
 def compose_notifications(results : TypeResults) -> TypeNotificationList:
     notifications = []
     for entity_name, action_name, num_ok, error_list in results: