diff --git a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp
index 3bbb2ee55a87be3216386a0f847b40829b4bb785..13ce08b7e0b96494d60e19cd79f2bdc67b4b263f 100644
--- a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp
+++ b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp
@@ -446,7 +446,7 @@ namespace armarx::armem::gui::instance
 
     std::vector<QAction*> InstanceView::makeActionsCopyDataToClipboard()
     {
-        return makeCopyActions(currentInstance->data());
+        return makeCopyActions(currentInstance->data(), currentAronType);
     }
 
     std::vector<QAction*> InstanceView::makeActionsCopyDataToClipboard(const aron::Path& path)
@@ -454,7 +454,8 @@ namespace armarx::armem::gui::instance
         try
         {
             aron::data::VariantPtr element = currentInstance->data()->navigateAbsolute(path);
-            return makeCopyActions(element);
+            aron::type::VariantPtr elementType = currentAronType->navigateAbsolute(path);
+            return makeCopyActions(element, elementType);
         }
         catch (const aron::error::AronException& e)
         {
@@ -463,18 +464,17 @@ namespace armarx::armem::gui::instance
         return {};
     }
 
-    std::vector<QAction*> InstanceView::makeCopyActions(const aron::data::VariantPtr& element)
+    std::vector<QAction*> InstanceView::makeCopyActions(
+            const aron::data::VariantPtr& element,
+            const aron::type::VariantPtr& elementType)
     {
         QAction* easyJsonAction = new QAction("Copy data to clipboard as easy JSON");
-        connect(easyJsonAction, &QAction::triggered, [this, element]()
+        connect(easyJsonAction, &QAction::triggered, [this, element, elementType]()
         {
             try
             {
                 TreeTypedJSONConverter conv;
-                // TODO(phesch): Type hierarchy doesn't match data hierarchy
-                armarx::aron::data::visitRecursive(conv, currentInstance->data(), currentAronType);
-                //nlohmann::json json =
-                //   aron::converter::AronNlohmannJSONConverter::ConvertToNlohmannJSON(element);
+                armarx::aron::data::visitRecursive(conv, element, elementType);
                 QClipboard* clipboard = QApplication::clipboard();
                 clipboard->setText(QString::fromStdString(conv.getJSON().dump(2)));
                 QApplication::processEvents();
diff --git a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h
index 982d277db1febb68070290d3c86a3f06c602b990..970af2b6e45698cd342950a1ffe4f6612877d000 100644
--- a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h
+++ b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h
@@ -84,7 +84,9 @@ namespace armarx::armem::gui::instance
         QAction* makeActionCopyMemoryID(const MemoryID& id);
         std::vector<QAction*> makeActionsCopyDataToClipboard();
         std::vector<QAction*> makeActionsCopyDataToClipboard(const aron::Path& path);
-        std::vector<QAction*> makeCopyActions(const aron::data::VariantPtr& element);
+        std::vector<QAction*> makeCopyActions(
+                const aron::data::VariantPtr& element,
+                const aron::type::VariantPtr& elementType);
 
 
     private: