diff --git a/src/context/service/database/Service.py b/src/context/service/database/Service.py
index 4b63a4ae56fa278679d145f1da2c62e767f73005..a81a80c3c2398fed16842bcc3d8aa16342edb72b 100644
--- a/src/context/service/database/Service.py
+++ b/src/context/service/database/Service.py
@@ -77,8 +77,11 @@ def service_set(db_engine : Engine, request : Service) -> Tuple[Dict, bool]:
     service_endpoints_data : List[Dict] = list()
     for i,endpoint_id in enumerate(request.service_endpoint_ids):
         endpoint_context_uuid = endpoint_id.topology_id.context_id.context_uuid.uuid
-        if len(endpoint_context_uuid) == 0: endpoint_context_uuid = context_uuid
-        if endpoint_context_uuid not in {raw_context_uuid, context_uuid}:
+        if len(endpoint_context_uuid) == 0:
+            endpoint_context_uuid = context_get_uuid(request.service_id.context_id, allow_random=False)
+        else:
+            endpoint_context_uuid = context_get_uuid(endpoint_id.topology_id.context_id, allow_random=False)
+        if endpoint_context_uuid != context_uuid:
             raise InvalidArgumentException(
                 'request.service_endpoint_ids[{:d}].topology_id.context_id.context_uuid.uuid'.format(i),
                 endpoint_context_uuid,
diff --git a/src/context/service/database/Slice.py b/src/context/service/database/Slice.py
index 7c291e33d858841054adc59306fbedb2e9a18f79..b841b9cc8eccc9a366fe0fb34d26998f6b8ce0a8 100644
--- a/src/context/service/database/Slice.py
+++ b/src/context/service/database/Slice.py
@@ -77,8 +77,11 @@ def slice_set(db_engine : Engine, request : Slice) -> Tuple[Dict, bool]:
     slice_endpoints_data : List[Dict] = list()
     for i,endpoint_id in enumerate(request.slice_endpoint_ids):
         endpoint_context_uuid = endpoint_id.topology_id.context_id.context_uuid.uuid
-        if len(endpoint_context_uuid) == 0: endpoint_context_uuid = context_uuid
-        if endpoint_context_uuid not in {raw_context_uuid, context_uuid}:
+        if len(endpoint_context_uuid) == 0:
+            endpoint_context_uuid = context_get_uuid(request.slice_id.context_id, allow_random=False)
+        else:
+            endpoint_context_uuid = context_get_uuid(endpoint_id.topology_id.context_id, allow_random=False)
+        if endpoint_context_uuid != context_uuid:
             raise InvalidArgumentException(
                 'request.slice_endpoint_ids[{:d}].topology_id.context_id.context_uuid.uuid'.format(i),
                 endpoint_context_uuid,
@@ -210,13 +213,13 @@ def slice_unset(db_engine : Engine, request : Slice) -> Tuple[Dict, bool]:
                 )).delete()
         if len(slice_subslice_uuids) > 0:
             num_deletes += session.query(SliceSubSliceModel)\
-                .filter_by(and_(
+                .filter(and_(
                     SliceSubSliceModel.slice_uuid == slice_uuid,
                     SliceSubSliceModel.subslice_uuid.in_(slice_subslice_uuids)
                 )).delete()
         if len(slice_endpoint_uuids) > 0:
             num_deletes += session.query(SliceEndPointModel)\
-                .filter_by(and_(
+                .filter(and_(
                     SliceEndPointModel.slice_uuid == slice_uuid,
                     SliceEndPointModel.endpoint_uuid.in_(slice_endpoint_uuids)
                 )).delete()
diff --git a/src/context/service/database/models/SliceModel.py b/src/context/service/database/models/SliceModel.py
index 1a562bcd973cc41d777fdd20e4d42622afeebc44..6943861c868105487a2e3307dee78b9f4069f9d3 100644
--- a/src/context/service/database/models/SliceModel.py
+++ b/src/context/service/database/models/SliceModel.py
@@ -100,3 +100,7 @@ class SliceSubSliceModel(_Base):
 
     slice_uuid    = Column(ForeignKey('slice.slice_uuid', ondelete='CASCADE' ), primary_key=True)
     subslice_uuid = Column(ForeignKey('slice.slice_uuid', ondelete='RESTRICT'), primary_key=True)
+
+    slice    = relationship(
+        'SliceModel', foreign_keys='SliceSubSliceModel.slice_uuid', back_populates='slice_subslices', lazy='joined')
+    subslice = relationship('SliceModel', foreign_keys='SliceSubSliceModel.subslice_uuid', lazy='joined')