diff --git a/GUI/coregui/Models/GroupPropertyRegistry.cpp b/GUI/coregui/Models/GroupPropertyRegistry.cpp
deleted file mode 100644
index 7cd615e340b1b9ac3a165a346e89e1311655ea66..0000000000000000000000000000000000000000
--- a/GUI/coregui/Models/GroupPropertyRegistry.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// ************************************************************************** //
-//
-//  BornAgain: simulate and fit scattering at grazing incidence
-//
-//! @file      GUI/coregui/Models/GroupPropertyRegistry.cpp
-//! @brief     Implements class GroupPropertyRegistry
-//!
-//! @homepage  http://www.bornagainproject.org
-//! @license   GNU General Public License v3 or higher (see COPYING)
-//! @copyright Forschungszentrum Jülich GmbH 2016
-//! @authors   Scientific Computing Group at MLZ Garching
-//! @authors   Céline Durniak, Marina Ganeva, David Li, Gennady Pospelov
-//! @authors   Walter Van Herck, Joachim Wuttke
-//
-// ************************************************************************** //
-
-#include "GroupPropertyRegistry.h"
-#include "GroupInfoCatalogue.h"
-
-bool GroupPropertyRegistry::isValidGroup(const QString& group_type)
-{
-    return catalogue().containsGroup(group_type);
-}
-
-GroupInfo GroupPropertyRegistry::groupInfo(const Constants::ModelType& group_type)
-{
-    return catalogue().groupInfo(group_type);
-}
-
-const GroupInfoCatalogue& GroupPropertyRegistry::catalogue()
-{
-    static GroupInfoCatalogue s_catalogue = GroupInfoCatalogue();
-    return s_catalogue;
-}
diff --git a/GUI/coregui/Models/GroupPropertyRegistry.h b/GUI/coregui/Models/GroupPropertyRegistry.h
deleted file mode 100644
index 67237b5b12a1fcc5d64b6ed3827f9d13ee71e904..0000000000000000000000000000000000000000
--- a/GUI/coregui/Models/GroupPropertyRegistry.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// ************************************************************************** //
-//
-//  BornAgain: simulate and fit scattering at grazing incidence
-//
-//! @file      GUI/coregui/Models/GroupPropertyRegistry.h
-//! @brief     Defines class GroupPropertyRegistry
-//!
-//! @homepage  http://www.bornagainproject.org
-//! @license   GNU General Public License v3 or higher (see COPYING)
-//! @copyright Forschungszentrum Jülich GmbH 2016
-//! @authors   Scientific Computing Group at MLZ Garching
-//! @authors   Céline Durniak, Marina Ganeva, David Li, Gennady Pospelov
-//! @authors   Walter Van Herck, Joachim Wuttke
-//
-// ************************************************************************** //
-
-#ifndef GROUPPROPERTYREGISTRY_H
-#define GROUPPROPERTYREGISTRY_H
-
-#include "GroupItemController.h"
-#include "GroupInfoCatalogue.h"
-#include "item_constants.h"
-
-//! Constructs GroupProperty objects according to the given group type.
-
-class BA_CORE_API_ GroupPropertyRegistry
-{
-public:
-    static bool isValidGroup(const QString& group_type);
-
-    static GroupInfo groupInfo(const Constants::ModelType& group_type);
-private:
-    static const GroupInfoCatalogue& catalogue();
-};
-
-#endif // GROUPPROPERTYREGISTRY_H
diff --git a/GUI/coregui/Models/SessionItem.cpp b/GUI/coregui/Models/SessionItem.cpp
index fcac2af5e305cb13f523bff4b3ba2d525f71790a..954c7c4ca1df99e4433bb6eb33b49221f5cbaa4c 100644
--- a/GUI/coregui/Models/SessionItem.cpp
+++ b/GUI/coregui/Models/SessionItem.cpp
@@ -16,11 +16,11 @@
 
 #include "GUIHelpers.h"
 #include "GroupItem.h"
-#include "GroupPropertyRegistry.h"
 #include "ItemFactory.h"
 #include "ParameterTranslators.h"
 #include "SessionModel.h"
 #include "VectorItem.h"
+#include "SessionItemUtils.h"
 
 class SessionItemData
 {
@@ -356,9 +356,9 @@ SessionItem* SessionItem::addGroupProperty(const QString& groupTag, const QStrin
 {
     SessionItem* result(0);
 
-    if(GroupPropertyRegistry::isValidGroup(groupType)) {
+    if(SessionItemUtils::IsValidGroup(groupType)) {
         // create group item
-        GroupInfo groupInfo = GroupPropertyRegistry::groupInfo(groupType);
+        GroupInfo groupInfo = SessionItemUtils::GetGroupInfo(groupType);
         GroupItem* groupItem = dynamic_cast<GroupItem*>(
                     ItemFactory::createItem(Constants::GroupItemType));
         Q_ASSERT(groupItem);
diff --git a/GUI/coregui/Models/SessionItemUtils.cpp b/GUI/coregui/Models/SessionItemUtils.cpp
index 581b049c85466e9d81b3c5d4fe8debb38bae4c36..7f30e2434d7120bfcf6760aedea8a4ab608e6700 100644
--- a/GUI/coregui/Models/SessionItemUtils.cpp
+++ b/GUI/coregui/Models/SessionItemUtils.cpp
@@ -19,10 +19,19 @@
 #include "VectorItem.h"
 #include "MaterialItem.h"
 #include "ExternalProperty.h"
+#include "GroupInfoCatalogue.h"
 #include <QColor>
 #include <QIcon>
 #include <QPixmap>
 
+namespace {
+const GroupInfoCatalogue& groupInfoCatalogue()
+{
+    static GroupInfoCatalogue s_catalogue = GroupInfoCatalogue();
+    return s_catalogue;
+}
+}
+
 int SessionItemUtils::ParentRow(const SessionItem& item)
 {
     if (item.parent())
@@ -98,3 +107,13 @@ QVariant SessionItemUtils::CheckStateRole(const SessionItem& item)
         return item.value().toBool() ? Qt::Checked : Qt::Unchecked;
     return QVariant();
 }
+
+bool SessionItemUtils::IsValidGroup(const QString& group_type)
+{
+    return groupInfoCatalogue().containsGroup(group_type);
+}
+
+GroupInfo SessionItemUtils::GetGroupInfo(const QString& group_type)
+{
+    return groupInfoCatalogue().groupInfo(group_type);
+}
diff --git a/GUI/coregui/Models/SessionItemUtils.h b/GUI/coregui/Models/SessionItemUtils.h
index 345d615a460b2a60b2c494b88f69ef498d916c90..4741d9343c99e2676a9920c4fc7991ebdecb143e 100644
--- a/GUI/coregui/Models/SessionItemUtils.h
+++ b/GUI/coregui/Models/SessionItemUtils.h
@@ -23,6 +23,7 @@
 #include <QVariant>
 
 class SessionItem;
+class GroupInfo;
 
 namespace SessionItemUtils
 {
@@ -51,6 +52,12 @@ BA_CORE_API_ QVariant DecorationRole(const SessionItem& item);
 //! Returns check state for given item.
 BA_CORE_API_ QVariant CheckStateRole(const SessionItem& item);
 
+//! Returns true if there is registered group.
+BA_CORE_API_ bool IsValidGroup(const QString& group_type);
+
+//! Returns GroupInfo for group property construction
+BA_CORE_API_ GroupInfo GetGroupInfo(const QString& group_type);
+
 }  // namespace SessionItemUtils
 
 #endif // SESSIONITEMUTILS_H
diff --git a/Tests/UnitTests/GUI/TestGroupItem.h b/Tests/UnitTests/GUI/TestGroupItem.h
index 7c9d66d3802249275cd27924a471b03995179c96..0be51d2d2e2e0263845a8c19c350664fab74b438 100644
--- a/Tests/UnitTests/GUI/TestGroupItem.h
+++ b/Tests/UnitTests/GUI/TestGroupItem.h
@@ -3,9 +3,9 @@
 #include "GroupInfo.h"
 #include "GroupItem.h"
 #include "ComboProperty.h"
-#include "GroupPropertyRegistry.h"
 #include "GUIHelpers.h"
 #include "SessionModel.h"
+#include "SessionItemUtils.h"
 
 class TestGroupItem : public QObject {
     Q_OBJECT
@@ -51,7 +51,7 @@ inline void TestGroupItem::test_CreateGroup()
 {
     SessionModel model("TestModel");
 
-    GroupInfo groupInfo = GroupPropertyRegistry::groupInfo(Constants::FormFactorGroup);
+    GroupInfo groupInfo = SessionItemUtils::GetGroupInfo(Constants::FormFactorGroup);
     QCOMPARE(groupInfo.defaultType(), Constants::CylinderType);
 
     auto groupItem = dynamic_cast<GroupItem*>(model.insertNewItem(Constants::GroupItemType));
@@ -103,7 +103,7 @@ inline void TestGroupItem::test_CreateGroup()
 
 inline void TestGroupItem::test_groupPropertyWithDisplayNames()
 {
-    GroupInfo groupInfo = GroupPropertyRegistry::groupInfo(Constants::DistributionGroup);
+    GroupInfo groupInfo = SessionItemUtils::GetGroupInfo(Constants::DistributionGroup);
 
     GroupItem groupItem;
     groupItem.setGroupInfo(groupInfo);