diff --git a/GUI/Models/SessionItem.h b/GUI/Models/SessionItem.h
index 0ff1ede2fdc4bc3ede0833e8de6c7fe1f9516602..e5f423e37bb660d8df9ac5632913a5fc0b1913e0 100644
--- a/GUI/Models/SessionItem.h
+++ b/GUI/Models/SessionItem.h
@@ -81,6 +81,8 @@ public:
     // convenience functions for groups
     SessionItem* addGroupProperty(const QString& groupTag, const QString& groupType);
     SessionItem* setGroupProperty(const QString& groupTag, const QString& modelType) const;
+    template <typename T>
+    T* setGroupPropertyType(const QString& groupTag);
     SessionItem* getGroupItem(const QString& groupName) const;
     template <typename T> T& groupItem(const QString& groupName) const;
 
@@ -181,6 +183,12 @@ template <typename T> T* SessionItem::addProperty(const QString& tagname)
     return property;
 }
 
+template <typename T>
+T* SessionItem::setGroupPropertyType(const QString& groupTag)
+{
+    return dynamic_cast<T*>(setGroupProperty(groupTag, T::M_TYPE));
+}
+
 template <typename T> T& SessionItem::groupItem(const QString& groupName) const
 {
     T* t = dynamic_cast<T*>(getGroupItem(groupName));
diff --git a/GUI/Models/TransformFromDomain.cpp b/GUI/Models/TransformFromDomain.cpp
index 6d60fcb0798206b2ce7e7377b9248c1418371207..fd0c11f0b80811f889ab9de9c42ee8ba18d85380 100644
--- a/GUI/Models/TransformFromDomain.cpp
+++ b/GUI/Models/TransformFromDomain.cpp
@@ -559,9 +559,8 @@ void TransformFromDomain::setBackground(InstrumentItem* instrument_item,
     auto p_bg = simulation.background();
     if (auto p_constant_bg = dynamic_cast<const ConstantBackground*>(p_bg)) {
         ConstantBackgroundItem* constant_bg_item =
-            dynamic_cast<ConstantBackgroundItem*>
-            (instrument_item->setGroupProperty(InstrumentItem::P_BACKGROUND,
-                                               ConstantBackgroundItem::M_TYPE));
+            instrument_item->setGroupPropertyType<ConstantBackgroundItem>
+            (InstrumentItem::P_BACKGROUND);
         double value = p_constant_bg->backgroundValue();
         constant_bg_item->setBackgroundValue(value);
     } else if (dynamic_cast<const PoissonNoiseBackground*>(p_bg)) {