diff --git a/src/slice/service/SliceServiceServicerImpl.py b/src/slice/service/SliceServiceServicerImpl.py
index e87ee0f9740cb221e9b3db8afc756f6288cc9563..cbe2dd5c715da21e0e8bbdead6fa60af746cd58f 100644
--- a/src/slice/service/SliceServiceServicerImpl.py
+++ b/src/slice/service/SliceServiceServicerImpl.py
@@ -48,7 +48,7 @@ class SliceServiceServicerImpl(SliceServiceServicer):
 
         slice_rw = Slice()
         slice_rw.CopyFrom(request if slice_ro is None else slice_ro)
-        slice_rw.name = request.name
+        if len(request.name) > 0: slice_rw.name = request.name
         slice_rw.slice_owner.CopyFrom(request.slice_owner)                          # pylint: disable=no-member
         slice_rw.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_PLANNED    # pylint: disable=no-member
 
@@ -203,30 +203,28 @@ class SliceServiceServicerImpl(SliceServiceServicer):
             context_client.close()
             return Empty()
 
+        _slice_rw = Slice()
+        _slice_rw.CopyFrom(_slice)
+        _slice_rw.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_DEINIT # pylint: disable=no-member
+        context_client.SetSlice(_slice_rw)
+
         if is_inter_domain(context_client, _slice.slice_endpoint_ids):
             interdomain_client = InterdomainClient()
             slice_id = interdomain_client.DeleteSlice(request)
-            #raise NotImplementedError('Delete inter-domain slice')
             interdomain_client.close()
         else:
-            current_slice = Slice()
-            current_slice.CopyFrom(_slice)
-            current_slice.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_DEINIT # pylint: disable=no-member
-            context_client.SetSlice(current_slice)
-
             if self._slice_grouper.is_enabled:
-                ungrouped = self._slice_grouper.ungroup(current_slice) # pylint: disable=unused-variable
-
-            service_client = ServiceClient()
-            for service_id in _slice.slice_service_ids:
-                current_slice = Slice()
-                current_slice.slice_id.CopyFrom(_slice.slice_id) # pylint: disable=no-member
-                slice_service_id = current_slice.slice_service_ids.add() # pylint: disable=no-member
-                slice_service_id.CopyFrom(service_id)
-                context_client.UnsetSlice(current_slice)
-
-                service_client.DeleteService(service_id)
-            service_client.close()
+                ungrouped = self._slice_grouper.ungroup(_slice_rw) # pylint: disable=unused-variable
+
+        service_client = ServiceClient()
+        for service_id in _slice.slice_service_ids:
+            tmp_slice = Slice()
+            tmp_slice.slice_id.CopyFrom(_slice.slice_id) # pylint: disable=no-member
+            slice_service_id = tmp_slice.slice_service_ids.add() # pylint: disable=no-member
+            slice_service_id.CopyFrom(service_id)
+            context_client.UnsetSlice(tmp_slice)
+            service_client.DeleteService(service_id)
+        service_client.close()
 
         context_client.RemoveSlice(request)
         context_client.close()