diff --git a/GUI/Models/BeamDistributionItem.cpp b/GUI/Models/BeamDistributionItem.cpp
index 3d26dde3d725ec55e9b4de72a043db0cdb7d6a5e..28384ff373d6437dc902bedd268ca4b523c52498 100644
--- a/GUI/Models/BeamDistributionItem.cpp
+++ b/GUI/Models/BeamDistributionItem.cpp
@@ -61,7 +61,7 @@ void BeamDistributionItem::initDistributionItem(bool show_mean)
     auto groupItem = item<GroupItem>(P_DISTRIBUTION);
 
     DistributionNoneItem* distributionNone = nullptr;
-    for (auto item : groupItem->getItems(GroupItem::T_ITEMS)) {
+    for (auto item : groupItem->groupItems()) {
         if (item->modelType() == DistributionNoneItem::M_TYPE) {
             distributionNone = dynamic_cast<DistributionNoneItem*>(item);
             break;
@@ -74,7 +74,7 @@ void BeamDistributionItem::initDistributionItem(bool show_mean)
     const RealLimits limits = distributionNone->meanItem()->limits();
     const QString editor_type = distributionNone->meanItem()->editorType();
 
-    for (auto item : groupItem->getItems(GroupItem::T_ITEMS)) {
+    for (auto item : groupItem->groupItems()) {
         DistributionItem* distrItem = dynamic_cast<DistributionItem*>(item);
         distrItem->showMean(show_mean);
 
diff --git a/GUI/Models/GroupItem.cpp b/GUI/Models/GroupItem.cpp
index 0a839ca8cd7bb0cc80e49c9dfd647e91de7192e1..a500ce1ad5606616804d3195415bdc72370438a0 100644
--- a/GUI/Models/GroupItem.cpp
+++ b/GUI/Models/GroupItem.cpp
@@ -61,6 +61,16 @@ SessionItem* GroupItem::getItemOfType(const QString& type)
     return m_controller->getItemOfType(type);
 }
 
+QVector<SessionItem*> GroupItem::groupItems() const
+{
+    return getItems(T_ITEMS);
+}
+
+bool GroupItem::isItemsTagName(const QString& name)
+{
+    return name == T_ITEMS;
+}
+
 void GroupItem::onValueChange()
 {
     if (!value().canConvert<ComboProperty>())
diff --git a/GUI/Models/GroupItem.h b/GUI/Models/GroupItem.h
index e94fa4788b750fd429410dc2f82463af27e4ff52..69c87216c692797e1f3828fd92fd1f793d21cb26 100644
--- a/GUI/Models/GroupItem.h
+++ b/GUI/Models/GroupItem.h
@@ -24,10 +24,12 @@ class GroupInfo;
 class GroupItemController;
 
 class BA_CORE_API_ GroupItem : public SessionItem {
+private:
+    static const QString T_ITEMS;
+
 public:
     static const QString M_TYPE;
 
-    static const QString T_ITEMS;
     GroupItem();
     ~GroupItem();
 
@@ -42,6 +44,9 @@ public:
 
     template <typename T> T* itemOfType() const;
 
+    QVector<SessionItem*> groupItems() const;
+    static bool isItemsTagName(const QString& name);
+
 private:
     void onValueChange();
     void updateComboValue();
diff --git a/GUI/Models/InterferenceFunctionItems.cpp b/GUI/Models/InterferenceFunctionItems.cpp
index a8e006a683f956002b0dc055fa729a4fe0f1effb..d5123fd47f732db702df9fc7130e918d26a666f9 100644
--- a/GUI/Models/InterferenceFunctionItems.cpp
+++ b/GUI/Models/InterferenceFunctionItems.cpp
@@ -206,7 +206,7 @@ InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem()
         ->setToolTip("Probability distribution in second lattice direction");
 
     mapper()->setOnChildPropertyChange([this](SessionItem* item, const QString& property) {
-        if (item->hasModelType<GroupItem>() && property == GroupItem::T_ITEMS
+        if (item->hasModelType<GroupItem>() && GroupItem::isItemsTagName(property)
             && isTag(P_PDF1) && isTag(P_PDF2))
             update_distribution_displaynames();
     });
diff --git a/GUI/Views/InfoWidgets/DistributionEditor.cpp b/GUI/Views/InfoWidgets/DistributionEditor.cpp
index 83d7643dd12b0df050251db17cd34d50a94a007f..18f5f3ac340177687e00b491cd7826e5c2955549 100644
--- a/GUI/Views/InfoWidgets/DistributionEditor.cpp
+++ b/GUI/Views/InfoWidgets/DistributionEditor.cpp
@@ -62,7 +62,7 @@ void DistributionEditor::subscribeToItem()
 
 void DistributionEditor::onPropertyChanged(const QString& property_name)
 {
-    if (property_name == GroupItem::T_ITEMS)
+    if (GroupItem::isItemsTagName(property_name))
         m_plotwidget->setItem(distributionItem());
 }