diff --git a/GUI/Models/RectangularDetectorItem.cpp b/GUI/Models/RectangularDetectorItem.cpp
index e4cddea3b2b91e43b6364ee2e6d1f3812045a072..f665db744341f1233c862ed349d7667430b1db80 100644
--- a/GUI/Models/RectangularDetectorItem.cpp
+++ b/GUI/Models/RectangularDetectorItem.cpp
@@ -239,6 +239,26 @@ void RectangularDetectorItem::setV0(const double v0)
     setItemValue(P_V0, v0);
 }
 
+SessionItem* RectangularDetectorItem::directBeamU0Item() const
+{
+    return getItem(P_DBEAM_U0);
+}
+
+void RectangularDetectorItem::setDirectBeamU0(const double u0)
+{
+    setItemValue(P_DBEAM_U0, u0);
+}
+
+SessionItem* RectangularDetectorItem::directBeamV0Item() const
+{
+    return getItem(P_DBEAM_V0);
+}
+
+void RectangularDetectorItem::setDirectBeamV0(const double v0)
+{
+    setItemValue(P_DBEAM_V0, v0);
+}
+
 std::unique_ptr<IDetector2D> RectangularDetectorItem::createDomainDetector() const
 {
     // basic axes parameters
diff --git a/GUI/Models/RectangularDetectorItem.h b/GUI/Models/RectangularDetectorItem.h
index aa7455e275e3a83af2936ce3e86b3a223e74c8b4..955cbf3f1b83e169650a9130f1d7a0d1f93d9e83 100644
--- a/GUI/Models/RectangularDetectorItem.h
+++ b/GUI/Models/RectangularDetectorItem.h
@@ -30,10 +30,10 @@ private:
     static const QString P_DIRECTION;
     static const QString P_U0;
     static const QString P_V0;
-
-public:
     static const QString P_DBEAM_U0;
     static const QString P_DBEAM_V0;
+
+public:
     static const QString P_DISTANCE;
 
     RectangularDetectorItem();
@@ -67,6 +67,12 @@ public:
     SessionItem* v0Item() const;
     void setV0(double v0);
 
+    SessionItem* directBeamU0Item() const;
+    void setDirectBeamU0(double dbeam_u0);
+
+    SessionItem* directBeamV0Item() const;
+    void setDirectBeamV0(double dbeam_v0);
+
 private:
     std::unique_ptr<IDetector2D> createDomainDetector() const override;
     void update_properties_appearance();
diff --git a/GUI/Models/TransformFromDomain.cpp b/GUI/Models/TransformFromDomain.cpp
index 15ae94959540014c16b9a711f0c4b9f407452950..69e12eb6d12951ca9fe7bb9b3498b28155bc9c19 100644
--- a/GUI/Models/TransformFromDomain.cpp
+++ b/GUI/Models/TransformFromDomain.cpp
@@ -408,8 +408,8 @@ void TransformFromDomain::setRectangularDetector(RectangularDetectorItem* detect
                == RectangularDetector::PERPENDICULAR_TO_DIRECT_BEAM) {
         detector_item->setDetectorAlignment("Perpendicular to direct beam");
         detector_item->setItemValue(RectangularDetectorItem::P_DISTANCE, detector.getDistance());
-        detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_U0, detector.getU0());
-        detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_V0, detector.getV0());
+        detector_item->setDirectBeamU0(detector.getU0());
+        detector_item->setDirectBeamV0(detector.getV0());
 
     } else if (detector.getDetectorArrangment()
                == RectangularDetector::PERPENDICULAR_TO_REFLECTED_BEAM) {
@@ -422,10 +422,8 @@ void TransformFromDomain::setRectangularDetector(RectangularDetectorItem* detect
                == RectangularDetector::PERPENDICULAR_TO_REFLECTED_BEAM_DPOS) {
         detector_item->setDetectorAlignment("Perpendicular to reflected beam (dpos)");
         detector_item->setItemValue(RectangularDetectorItem::P_DISTANCE, detector.getDistance());
-        detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_U0,
-                                    detector.getDirectBeamU0());
-        detector_item->setItemValue(RectangularDetectorItem::P_DBEAM_V0,
-                                    detector.getDirectBeamV0());
+        detector_item->setDirectBeamU0(detector.getDirectBeamU0());
+        detector_item->setDirectBeamV0(detector.getDirectBeamV0());
 
     } else {
         throw Error(
diff --git a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
index 1102c02a682b7b4681cbff751dc3fce001869df9..41360726e601f8c41bca87ac27a1e877a989ef43 100644
--- a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
@@ -147,8 +147,8 @@ void RectangularDetectorEditor::init_alignment_editors()
     } else if (alignment.getValue() == "Perpendicular to direct beam"
                || alignment.getValue() == "Perpendicular to reflected beam (dpos)") {
         m_positionsEditor->show();
-        m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_DBEAM_U0));
-        m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_DBEAM_V0));
+        m_positionsEditor->addItem(detectorItem()->directBeamU0Item());
+        m_positionsEditor->addItem(detectorItem()->directBeamV0Item());
         m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_DISTANCE));
 
     } else if (alignment.getValue() == "Perpendicular to sample x-axis"