diff --git a/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.cpp b/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.cpp
index b4f8abe9bb17d7b6e339c33da91673a2e884bd69..10a8b7ae1b665966787ea6a056ab3f1056f8abeb 100644
--- a/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.cpp
+++ b/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.cpp
@@ -93,6 +93,7 @@ namespace armarx
                 sendDebugObserverBatch();
             }
 
+            viz::StagedCommit stage = arviz.stage();
             {
                 // Visualize the objects.
                 viz::Layer layer = arviz.layer("Objects");
@@ -103,20 +104,22 @@ namespace armarx
                               .fileByObjectFinder(objectPose.objectID)
                               .alpha(objectPose.confidence));
                 }
-                arviz.commit({layer});
+                stage.add(layer);
             }
-            visualizePredictions(client, objectPoses);
+            stage.add(visualizePredictions(client, objectPoses));
+            arviz.commit(stage);
 
             cycle.waitForCycleDuration();
         }
     }
 
-    void
+
+    viz::Layer
     ObjectPoseClientExample::visualizePredictions(const objpose::ObjectPoseClient& client,
                                                   const objpose::ObjectPoseSeq& objectPoses)
     {
-
         viz::Layer layer = arviz.layer("PredictionArray");
+
         objpose::ObjectPosePredictionRequestSeq requests;
         for (const objpose::ObjectPose& objectPose : objectPoses)
         {
@@ -128,7 +131,7 @@ namespace armarx
                 toIce(request.timestamp,
                       DateTime::Now() +
                           Duration::MilliSeconds((i + 1) * p.millisecondPredictionIncrement));
-                toIce(request.timeWindow, Duration::Seconds(2));
+                toIce(request.timeWindow, Duration::Seconds(10));
                 requests.push_back(request);
             }
         }
@@ -168,5 +171,7 @@ namespace armarx
                             << "' failed: " << result.errorMessage;
             }
         }
+
+        return layer;
     }
 } // namespace armarx
diff --git a/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.h b/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.h
index 6bfffbf35b87f7323eafc028a12b68278c7c727e..8cc667b26bad490c8fb314a6ef759e52f850430d 100644
--- a/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.h
+++ b/source/RobotAPI/components/ObjectPoseClientExample/ObjectPoseClientExample.h
@@ -75,8 +75,8 @@ namespace armarx
 
         void objectProcessingTaskRun();
 
-        void visualizePredictions(const objpose::ObjectPoseClient& client,
-                                  const objpose::ObjectPoseSeq& objectPoses);
+        viz::Layer visualizePredictions(const objpose::ObjectPoseClient& client,
+                                        const objpose::ObjectPoseSeq& objectPoses);
 
 
     private: