diff --git a/python/armarx_face_recognition/armarx_face_recognition/app/memory_face_recognition.py b/python/armarx_face_recognition/armarx_face_recognition/app/memory_face_recognition.py
index 0331ce551bda21dc8fb1b1b5895e7d08cddfc6b4..daf1ae0d1b18d5c1006fd9a5a36c4f5c235a186d 100755
--- a/python/armarx_face_recognition/armarx_face_recognition/app/memory_face_recognition.py
+++ b/python/armarx_face_recognition/armarx_face_recognition/app/memory_face_recognition.py
@@ -5,6 +5,7 @@ import typing as ty
 
 import numpy as np
 
+from armarx_core import ice_manager
 from armarx.parser import ArmarXArgumentParser as ArgumentParser
 from armarx_memory.client import MemoryNameSystem
 
@@ -30,12 +31,13 @@ def main():
 
     persons: ty.List[Person] = FaceDetection.query_human_profiles(mns=mns, logger=logger)
     if persons:
-        logger.debug(f"Found {len(persons)} persons with images: {persons}")
+        logger.info(f"Found {len(persons)} persons with images.")
+        logger.debug(f"Images: {persons}")
     else:
         logger.error("No persons with images found. Aborting.")
         return
 
-    logger.debug("Starting image processor")
+    logger.info("Starting image processor")
     image_processor = FaceDetection(
         args.input_provider,
         persons=persons,
@@ -45,6 +47,8 @@ def main():
     image_processor.on_connect()
     image_processor.update_calibration()
 
+    ice_manager.wait_for_shutdown()
+
 
 if __name__ == "__main__":
     main()
diff --git a/python/armarx_face_recognition/armarx_face_recognition/datatypes.py b/python/armarx_face_recognition/armarx_face_recognition/datatypes.py
index e11e3a7f9c36f0c3821973db569123f6319d8fcb..303b0f075f119776a9b3bd067a20dd65bd4031f9 100644
--- a/python/armarx_face_recognition/armarx_face_recognition/datatypes.py
+++ b/python/armarx_face_recognition/armarx_face_recognition/datatypes.py
@@ -43,5 +43,5 @@ class FaceRecognition(AronDataclass):
             "position3D": self.position_3d.astype(np.float32).reshape(3, 1),
             "position2D": self.position_2d.astype(np.int32),
             "extents2D": self.extents_2d.astype(np.int32),
-            "profileID": self.profile_id.to_aron() if self.profile_id else mem.MemoryID().to_aron(),
+            "profileID": self.profile_id.to_aron() if self.profile_id else None,
         })
diff --git a/python/armarx_face_recognition/armarx_face_recognition/face_detection.py b/python/armarx_face_recognition/armarx_face_recognition/face_detection.py
index 1f063e9545dfd6f1c36825a2b5990b1efe417c50..431a0b3ac807a5e6a6c2786ba8cea6c0eb001b3f 100755
--- a/python/armarx_face_recognition/armarx_face_recognition/face_detection.py
+++ b/python/armarx_face_recognition/armarx_face_recognition/face_detection.py
@@ -10,13 +10,16 @@ import cv2
 import numpy as np
 import face_recognition
 
-from armarx_core import cmake_helper
+from armarx_core import slice_loader
+
 from armarx import arviz as viz
 from armarx_memory import client as mem
 
 from armarx.pose_helper import convert_position_to_global
 from armarx import FramedPositionBase
 
+slice_loader.load_armarx_slice("VisionX", "core/ImageProcessorInterface.ice")
+slice_loader.load_armarx_slice("VisionX", "components/Calibration.ice")
 from armarx_vision.image_processor import ImageProcessor
 from visionx import StereoCalibrationInterfacePrx
 
@@ -80,11 +83,15 @@ class FaceDetection(ImageProcessor):
                 abs_path = face_image_path.get_system_path()
                 if os.path.isfile(abs_path):
                     name = profile.names.spoken[0] or id.entity_name
-                    if logger is not None:
-                        logger.info("Loading person '%s'.", name)
-                        logger.debug("Creating face encoding for person '%s'.", name)
                     image = face_recognition.load_image_file(abs_path)
-                    encoding = face_recognition.face_encodings(image)[0]
+                    encodings_of_faces = face_recognition.face_encodings(image)
+                    if len(encodings_of_faces) > 0:
+                        if logger:
+                            logger.info(f"Loaded image of person '{name}' from '{abs_path}.")
+                        encoding = encodings_of_faces[0]
+                    else:
+                        if logger:
+                            logger.info(f"Found no faces in image '{abs_path}' ...")
 
                     face_encodings.append(encoding)
 
@@ -193,7 +200,7 @@ class FaceDetection(ImageProcessor):
                 position_3d=position_3d,
                 position_2d=position_2d,
                 extents_2d=extents_2d,
-                profile_id=person.profile_id
+                profile_id=person.profile_id,
             )
             face_recognitions.append(recognition)
 
diff --git a/python/armarx_face_recognition/pyproject.toml b/python/armarx_face_recognition/pyproject.toml
index 5e0b5670055818803f4816ed33e522e675b03d90..28f388f58ae6d32007da43441bd5db6727869952 100644
--- a/python/armarx_face_recognition/pyproject.toml
+++ b/python/armarx_face_recognition/pyproject.toml
@@ -10,12 +10,11 @@ python = "^3.6.9"
 # armarx-dev = "^0.16.2"
 # armarx-dev = { path="../../../python3-armarx/", develop=true }  # "^0.16.2"
 ipython = "5.5"
-zeroc-ice = "^3.7"
-numpy = "1.19.5"
+numpy = "*"
 face-recognition = "^1.3.0"
 opencv-python = "4.3.0.36"
 peewee = "^3.14.4"
-transforms3d = "^0.3.1"
+transforms3d = "*"
 pyzbar = "^0.1.8"
 cbor2 = "^5.4.2"
 base45 = "^0.4.3"
diff --git a/source/VisionX/libraries/armem_human/aron/FaceRecognition.xml b/source/VisionX/libraries/armem_human/aron/FaceRecognition.xml
index 541dfe95764e8b9fdac587dc7ceb23ab9042440b..27b2b673dbbdf10bc6210eba9801b0e06e00efb9 100644
--- a/source/VisionX/libraries/armem_human/aron/FaceRecognition.xml
+++ b/source/VisionX/libraries/armem_human/aron/FaceRecognition.xml
@@ -29,8 +29,8 @@
                 <Time />
             </ObjectChild>
 
-            <ObjectChild key='profileID'>
-                <armarx::armem::arondto::MemoryID />
+            <ObjectChild key='profileID' >
+                <armarx::armem::arondto::MemoryID optional="true"/>
             </ObjectChild>
 
         </Object>