diff --git a/GUI/Model/Device/BeamItems.cpp b/GUI/Model/Device/BeamItems.cpp
index 33268beba4d656fe8972212b28f3e442000af4af..95fe5159157e90b4ce5d642bd642a59ead556ec0 100644
--- a/GUI/Model/Device/BeamItems.cpp
+++ b/GUI/Model/Device/BeamItems.cpp
@@ -53,7 +53,6 @@ SourceItem::SourceItem()
 void SourceItem::writeTo(QXmlStreamWriter* w) const
 {
     ASSERT(m_wavelengthItem);
-    ASSERT(m_inclinationAngleItem);
 
     XML::writeAttribute(w, XML::Attrib::version, uint(1));
 
@@ -72,11 +71,6 @@ void SourceItem::writeTo(QXmlStreamWriter* w) const
     m_azimuthalAngleItem->writeTo(w);
     w->writeEndElement();
 
-    // inclination angle
-    w->writeStartElement(Tag::InclinationAngle);
-    m_inclinationAngleItem->writeTo(w);
-    w->writeEndElement();
-
     // beam parameters groupbox: is expanded?
     w->writeStartElement(Tag::ExpandBeamParametersGroupbox);
     XML::writeAttribute(w, XML::Attrib::value, m_expandBeamParameters);
@@ -109,11 +103,6 @@ void SourceItem::readFrom(QXmlStreamReader* r)
             m_azimuthalAngleItem->readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
-            // inclination angle
-        } else if (tag == Tag::InclinationAngle) {
-            m_inclinationAngleItem->readFrom(r);
-            XML::gotoEndElementOfTag(r, tag);
-
             // beam parameters groupbox: is expanded?
         } else if (tag == Tag::ExpandBeamParametersGroupbox) {
             XML::readAttribute(r, XML::Attrib::value, &m_expandBeamParameters);
@@ -142,12 +131,6 @@ BeamWavelengthItem* SourceItem::wavelengthItem() const
     return m_wavelengthItem.get();
 }
 
-void SourceItem::setInclinationAngle(double value)
-{
-    ASSERT(m_inclinationAngleItem);
-    m_inclinationAngleItem->resetToValue(value);
-}
-
 BeamDistributionItem* SourceItem::beamDistributionItem() const
 {
     ASSERT(m_inclinationAngleItem);
@@ -196,12 +179,18 @@ BeamItem::BeamItem()
 
 void BeamItem::writeTo(QXmlStreamWriter* w) const
 {
+    ASSERT(m_inclinationAngleItem);
     XML::writeAttribute(w, XML::Attrib::version, uint(1));
 
     // parameters from base class
     w->writeStartElement(Tag::BaseData);
     SourceItem::writeTo(w);
     w->writeEndElement();
+
+    // inclination angle
+    w->writeStartElement(Tag::InclinationAngle);
+    m_inclinationAngleItem->writeTo(w);
+    w->writeEndElement();
 }
 
 void BeamItem::readFrom(QXmlStreamReader* r)
@@ -217,11 +206,22 @@ void BeamItem::readFrom(QXmlStreamReader* r)
             SourceItem::readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
+            // inclination angle
+        } else if (tag == Tag::InclinationAngle) {
+            m_inclinationAngleItem->readFrom(r);
+            XML::gotoEndElementOfTag(r, tag);
+
         } else
             r->skipCurrentElement();
     }
 }
 
+void BeamItem::setInclinationAngle(double value)
+{
+    ASSERT(m_inclinationAngleItem);
+    m_inclinationAngleItem->resetToValue(value);
+}
+
 double BeamItem::getInclinationAngle() const
 {
     return dynamic_cast<BeamInclinationAngleItem*>(beamDistributionItem())->inclinationAngle();
@@ -291,12 +291,6 @@ double ScanItem::getInclinationAngle() const
     return 0.0;
 }
 
-void ScanItem::setInclinationAngle(double value)
-{
-    ASSERT(value == 0.0);
-    SourceItem::setInclinationAngle(0.);
-}
-
 GrazingScanItem* ScanItem::grazingScanItem() const
 {
     ASSERT(m_inclinationAngleItem);
diff --git a/GUI/Model/Device/BeamItems.h b/GUI/Model/Device/BeamItems.h
index fd42c9952973bb48e93524380bfd3c0c67b52abb..490f042c5e6489b28036c2b0debedcd95c9fa7a1 100644
--- a/GUI/Model/Device/BeamItems.h
+++ b/GUI/Model/Device/BeamItems.h
@@ -43,7 +43,6 @@ public:
     BeamWavelengthItem* wavelengthItem() const;
 
     virtual double getInclinationAngle() const = 0;
-    virtual void setInclinationAngle(double value);
 
     BeamDistributionItem* beamDistributionItem() const;
 
@@ -76,6 +75,7 @@ public:
     void writeTo(QXmlStreamWriter* w) const;
     void readFrom(QXmlStreamReader* r);
 
+    void setInclinationAngle(double value);
     double getInclinationAngle() const override;
 };
 
@@ -87,7 +87,6 @@ public:
     void readFrom(QXmlStreamReader* r);
 
     double getInclinationAngle() const override;
-    void setInclinationAngle(double value) override;
 
     GrazingScanItem* grazingScanItem() const;
     BasicAxisItem* inclinationAxisItem() const;
diff --git a/GUI/Model/FromCore/ItemizeSimulation.cpp b/GUI/Model/FromCore/ItemizeSimulation.cpp
index d3aa4ec88630f98d2dfce5ccc3c083e4776a4c19..da3426d71f5cf9ca9df3b234e9809a5bca105bfc 100644
--- a/GUI/Model/FromCore/ItemizeSimulation.cpp
+++ b/GUI/Model/FromCore/ItemizeSimulation.cpp
@@ -238,7 +238,6 @@ void setOffspecBeamItem(ScanItem* scan_item, const OffspecSimulation& simulation
 
     scan_item->setIntensity(beam.intensity());
     scan_item->setWavelength(beam.wavelength());
-    scan_item->setInclinationAngle(Units::rad2deg(beam.alpha_i()));
     scan_item->setAzimuthalAngle(Units::rad2deg(beam.phi_i()));
     // TODO implement beam divergence
 }
@@ -432,8 +431,7 @@ SpecularInstrumentItem* createSpecularInstrumentItem(const SpecularSimulation& s
 
     scan_item->setIntensity(scan->intensity());
     scan_item->setWavelength(scan->wavelength());
-    scan_item->setInclinationAngle(0.0); // inclination angle is hardcoded
-    scan_item->setAzimuthalAngle(0.0);   // azimuthal angle is hardcoded
+    scan_item->setAzimuthalAngle(0.0); // azimuthal angle is hardcoded
 
     auto* axis_item = scan_item->inclinationAxisItem();
     setAxisItem(axis_item, *scan->coordinateAxis(), 1. / Units::deg);