diff --git a/GUI/coregui/Models/ModelPath.cpp b/GUI/coregui/Models/ModelPath.cpp
index 65ce7f5fb735cd7a44d2e8ff249ed527d5b9edd1..ceccf3258cb01c07ed120adab746eb620d603ba2 100644
--- a/GUI/coregui/Models/ModelPath.cpp
+++ b/GUI/coregui/Models/ModelPath.cpp
@@ -135,7 +135,7 @@ QModelIndex ModelPath::getIndexFromPath(const SessionModel *model, const QString
 }
 
 //! returns an item from relative path wrt to given parent
-SessionItem *ModelPath::getItemFromPath(const QString &relPath, SessionItem *parent)
+SessionItem *ModelPath::getItemFromPath(const QString &relPath, const SessionItem *parent)
 {
     Q_ASSERT(parent);
     QString fullPath = getPathFromIndex(parent->index()) + "/" + relPath;
diff --git a/GUI/coregui/Models/ModelPath.h b/GUI/coregui/Models/ModelPath.h
index 9b88aacbce9d9c70c78111f4b4d9c635f91b9524..fef0fad55cf3cf345be2ae3ab601377542056e0f 100644
--- a/GUI/coregui/Models/ModelPath.h
+++ b/GUI/coregui/Models/ModelPath.h
@@ -46,7 +46,7 @@ public:
 
     static QModelIndex getIndexFromPath(const SessionModel *model, const QString &path);
 
-    static SessionItem* getItemFromPath(const QString &relPath, SessionItem *parent);
+    static SessionItem* getItemFromPath(const QString &relPath, const SessionItem* parent);
 
     static bool isValidItem(SessionModel *model, SessionItem *item, const QModelIndex &parent);
 
diff --git a/GUI/coregui/Models/ParameterTreeUtils.cpp b/GUI/coregui/Models/ParameterTreeUtils.cpp
index 8975fcdad52e25a24221889278ad2fc17bfee442..c6ee499e9d5fc5a52b24031b78b2c7752d3a1a6d 100644
--- a/GUI/coregui/Models/ParameterTreeUtils.cpp
+++ b/GUI/coregui/Models/ParameterTreeUtils.cpp
@@ -27,6 +27,7 @@
 #include "FitParameterHelper.h"
 #include "SampleModel.h"
 #include <QStack>
+#include <QDebug>
 
 namespace {
     void handleItem(SessionItem* tree, const SessionItem* source);
@@ -88,7 +89,7 @@ void ParameterTreeUtils::visitParameterContainer(SessionItem* container,
 
 //! Creates list with parameter names of source item.
 
-QStringList ParameterTreeUtils::parameterTreeList(const SessionItem* source)
+QStringList ParameterTreeUtils::parameterTreeNames(const SessionItem* source)
 {
     QStringList result;
 
@@ -107,6 +108,32 @@ QStringList ParameterTreeUtils::parameterTreeList(const SessionItem* source)
     return result;
 }
 
+//! Creates domain translated list of parameter names for source item.
+
+QStringList ParameterTreeUtils::translatedParameterTreeNames(const SessionItem* source)
+{
+    QStringList result;
+
+    SampleModel model;
+    SessionItem* container = model.insertNewItem(Constants::ParameterContainerType);
+
+    populateParameterContainer(container, source);
+
+    visitParameterContainer(container, [&](ParameterItem* parItem)
+    {
+        QString relPath = source->displayName() + "/"
+                + parItem->getItemValue(ParameterItem::P_LINK).toString();
+        SessionItem *linkedItem = ModelPath::getItemFromPath(relPath, source);
+        result.push_back(ModelPath::itemPathTranslation(*linkedItem, source->parent()));
+    });
+
+    std::reverse(result.begin(), result.end());
+
+    return result;
+
+}
+
+
 //! For every ParameterItem in a container creates a link to the domain.
 
 void ParameterTreeUtils::populateDomainLinks(SessionItem* container)
@@ -186,3 +213,4 @@ void handleItem(SessionItem* tree, const SessionItem* source)
 } // namespace
 
 
+
diff --git a/GUI/coregui/Models/ParameterTreeUtils.h b/GUI/coregui/Models/ParameterTreeUtils.h
index 15f09f00875ce39577a9764dd7cbdf62ea2b4314..d1a24cd5983427d1ee7689169dee918c504e1b3c 100644
--- a/GUI/coregui/Models/ParameterTreeUtils.h
+++ b/GUI/coregui/Models/ParameterTreeUtils.h
@@ -39,7 +39,9 @@ BA_CORE_API_ void populateParameterContainer(SessionItem* container, const Sessi
 BA_CORE_API_ void visitParameterContainer(SessionItem* container,
                                           std::function<void(ParameterItem*)> fun);
 
-BA_CORE_API_ QStringList parameterTreeList(const SessionItem* source);
+BA_CORE_API_ QStringList parameterTreeNames(const SessionItem* source);
+
+BA_CORE_API_ QStringList translatedParameterTreeNames(const SessionItem* source);
 
 BA_CORE_API_ void populateDomainLinks(SessionItem* container);
 
diff --git a/Tests/UnitTests/GUI/TestGUI.cpp b/Tests/UnitTests/GUI/TestGUI.cpp
index 755987dbeed0e1d620efd199eeb3392f8f60b532..bb700ebea959d63b2e527aeb0ac65a402a5eb271 100644
--- a/Tests/UnitTests/GUI/TestGUI.cpp
+++ b/Tests/UnitTests/GUI/TestGUI.cpp
@@ -45,7 +45,7 @@ int main(int argc, char** argv) {
 //    TestTranslations testTranslations;
 //    TestGroupProperty testGroupProperty;
     TestParticleDistributionItem testParticleDistributionItem;
-//    TestParameterTreeUtils testParameterTreeUtils;
+    TestParameterTreeUtils testParameterTreeUtils;
 
     bool status(false);
 
@@ -68,7 +68,7 @@ int main(int argc, char** argv) {
 //    status |= QTest::qExec(&testTranslations, argc, argv);
 //    status |= QTest::qExec(&testGroupProperty, argc, argv);
     status |= QTest::qExec(&testParticleDistributionItem, argc, argv);
-//    status |= QTest::qExec(&testParameterTreeUtils, argc, argv);
+    status |= QTest::qExec(&testParameterTreeUtils, argc, argv);
 
     return status;
 }
diff --git a/Tests/UnitTests/GUI/TestParameterTreeUtils.h b/Tests/UnitTests/GUI/TestParameterTreeUtils.h
index c12116f61573671e9bae999afbc79929ea53ebb1..4e852feb3e4ffe7ea850ef5b2e1c503a8f87b7d5 100644
--- a/Tests/UnitTests/GUI/TestParameterTreeUtils.h
+++ b/Tests/UnitTests/GUI/TestParameterTreeUtils.h
@@ -5,30 +5,49 @@
 #include "SampleModel.h"
 
 namespace {
-    const QStringList expectedForParticle = {
+    const QStringList expectedParticleParameterNames = {
         "Particle/AnisoPyramid/Length", "Particle/AnisoPyramid/Width",
         "Particle/AnisoPyramid/Height", "Particle/AnisoPyramid/Alpha",
         "Particle/Abundance", "Particle/Position Offset/X",
         "Particle/Position Offset/Y", "Particle/Position Offset/Z"};
-}
 
+    const QStringList expectedParticleParameterTranslations = {
+        "Particle/AnisoPyramid/Length", "Particle/AnisoPyramid/Width",
+        "Particle/AnisoPyramid/Height", "Particle/AnisoPyramid/Alpha",
+        "Particle/Abundance", "Particle/PositionX",
+        "Particle/PositionY", "Particle/PositionZ"};
+}
 
 class TestParameterTreeUtils : public QObject {
     Q_OBJECT
 
 private slots:
-    void test_parameterTreeList();
+    void test_parameterTreeNames();
+    void test_parameterTranslatedNames();
 };
 
-//! Tests function returning list of names representing properties of given item.
+//! Tests parameter names of given item.
 
-inline void TestParameterTreeUtils::test_parameterTreeList()
+inline void TestParameterTreeUtils::test_parameterTreeNames()
 {
     SampleModel model;
 
     SessionItem *layer = model.insertNewItem(Constants::LayerType);
-    QCOMPARE(ParameterTreeUtils::parameterTreeList(layer), QStringList() << "Layer/Thickness");
+    QCOMPARE(ParameterTreeUtils::parameterTreeNames(layer), QStringList() << "Layer/Thickness");
+
+    SessionItem *particle = model.insertNewItem(Constants::ParticleType);
+    QCOMPARE(ParameterTreeUtils::parameterTreeNames(particle), expectedParticleParameterNames);
+}
+
+//! Tests translated parameter names of given item.
+
+inline void TestParameterTreeUtils::test_parameterTranslatedNames()
+{
+    QCOMPARE(1,1);
+    SampleModel model;
 
     SessionItem *particle = model.insertNewItem(Constants::ParticleType);
-    QCOMPARE(ParameterTreeUtils::parameterTreeList(particle), expectedForParticle);
+
+    QCOMPARE(ParameterTreeUtils::translatedParameterTreeNames(particle),
+             expectedParticleParameterTranslations);
 }