diff --git a/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp b/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp
index 66c6091c400f3cba73f7c2c865ce7d27657fcf00..e5e94169bd66666292a58315487d196cb062c5e3 100644
--- a/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp
+++ b/source/RobotAPI/gui-plugins/ArMemMemoryViewer/ArMemMemoryViewerWidgetController.cpp
@@ -28,6 +28,7 @@
 #include <QTimer>
 
 #include <ArmarXCore/observers/variant/Variant.h>
+#include <ArmarXCore/core/time/TimeUtil.h>
 
 #include <RobotAPI/libraries/armem/core/ice_conversions.h>
 #include <RobotAPI/libraries/armem_gui/QTreeWidgetAronDataVisitor.h>
@@ -50,6 +51,38 @@ namespace armarx
         }
     }
 
+    static QSplitter* useSplitter(QLayout* layout)
+    {
+        ARMARX_CHECK(layout);
+
+        QSplitter* splitter;
+        if (dynamic_cast<QHBoxLayout*>(layout))
+        {
+            splitter = new QSplitter(Qt::Orientation::Horizontal);
+        }
+        else if (dynamic_cast<QVBoxLayout*>(layout))
+        {
+            splitter = new QSplitter(Qt::Orientation::Vertical);
+        }
+        else
+        {
+            splitter = new QSplitter();
+        }
+
+        while (layout->count() > 0)
+        {
+            int index = 0;
+            if (layout->itemAt(index)->widget())
+            {
+                QLayoutItem* item = layout->takeAt(index);
+                splitter->addWidget(item->widget());
+            }
+        }
+        layout->addWidget(splitter);
+
+        return splitter;
+    }
+
 
     QString ArMemMemoryViewerWidgetController::GetWidgetName()
     {
@@ -62,20 +95,6 @@ namespace armarx
         widget.setupUi(getWidget());
 
         // Setup widgets
-        {
-            QSplitter* splitter = new QSplitter();
-            while (widget.treesLayout->count() > 0)
-            {
-                int index = 0; //widget.treesLayout->count() - 1;
-                if (widget.treesLayout->itemAt(index)->widget())
-                {
-                    QLayoutItem* item = widget.treesLayout->takeAt(index);
-                    splitter->addWidget(item->widget());
-                }
-            }
-            widget.treesLayout->addWidget(splitter);
-        }
-
         widget.statusLabel->clear();
 
 
@@ -89,7 +108,6 @@ namespace armarx
         replaceWidget(widget._memoryTreeWidget, memoryTree, widget.memoryGroupBox->layout());
         ARMARX_CHECK_NULL(widget._memoryTreeWidget);
 
-
         queryTabs = new armem::gui::QueryWidget();
         widget._queryTabWidget = nullptr;
 
@@ -103,6 +121,10 @@ namespace armarx
         ARMARX_CHECK_NULL(widget._instanceTree);
 
 
+        useSplitter(widget.treesLayout);
+        useSplitter(widget.memoryGroupBox->layout());
+
+
         // Connect signals
         connect(this, &This::connected, this, &This::updateMemory);
         connect(widget.updateButton, &QPushButton::pressed, this, &This::updateMemory);