diff --git a/GUI/Model/Beam/SourceItems.cpp b/GUI/Model/Beam/SourceItems.cpp
index 364c15402485432de7044fdbafe3c5f6a38dbd4b..fe27c5144c104fbca94fd26f9645b4d8a7ff071a 100644
--- a/GUI/Model/Beam/SourceItems.cpp
+++ b/GUI/Model/Beam/SourceItems.cpp
@@ -54,6 +54,7 @@ SourceItem::SourceItem()
                      Unit::unitless, 3 /* decimals */, RealLimits::limited(0.0, 1e32), "intensity");
 
     m_azimuthalAngleItem.reset(new BeamAzimuthalAngleItem());
+    m_footprint.init("Type", "Footprint type");
 }
 
 void SourceItem::writeTo(QXmlStreamWriter* w) const
@@ -268,7 +269,6 @@ ScanItem::ScanItem()
 {
     m_grazingScanItem.reset(new GrazingScanItem());
     m_wavelengthItem.reset(new BeamWavelengthItem);
-    m_footprint.init("Type", "Footprint type");
 }
 
 void ScanItem::setScan(const IBeamScan* scan)
diff --git a/GUI/View/Device/FootprintForm.cpp b/GUI/View/Device/FootprintForm.cpp
index 7180dfb0b3f866d1e2b478379fc1355bef08cadc..2ce53aa058962271c4affbd68eb88fce9cb688cc 100644
--- a/GUI/View/Device/FootprintForm.cpp
+++ b/GUI/View/Device/FootprintForm.cpp
@@ -20,13 +20,14 @@
 #include "GUI/View/Numeric/NumWidgetUtil.h"
 #include "GUI/View/Tool/GroupBoxCollapser.h"
 
-FootprintForm::FootprintForm(QWidget* parent, ScanItem* item)
+FootprintForm::FootprintForm(QWidget* parent, SourceItem* item)
     : QGroupBox("Footprint correction", parent)
     , m_item(item)
 {
     ASSERT(item);
     m_formLayout = new QFormLayout(this);
     m_formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint);
+    ASSERT(item->footprintSelection().currentItem());
     auto* typeCombo =
         GUI::Util::createComboBoxFromProperty(item->footprintSelection(), [this](int) {
             createFootprintWidgets();
diff --git a/GUI/View/Device/FootprintForm.h b/GUI/View/Device/FootprintForm.h
index 0c3a284419d1cbc35bb8bd570f82a18d95fc7196..d51c01f2b467f924433b546b62e0ee0d6622d6d6 100644
--- a/GUI/View/Device/FootprintForm.h
+++ b/GUI/View/Device/FootprintForm.h
@@ -17,7 +17,7 @@
 
 #include <QGroupBox>
 
-class ScanItem;
+class SourceItem;
 class QFormLayout;
 
 //! FootprintCorrection editor (i.e. background) for instrument editors.
@@ -27,7 +27,7 @@ class FootprintForm : public QGroupBox {
     Q_OBJECT
 
 public:
-    FootprintForm(QWidget* parent, ScanItem* item);
+    FootprintForm(QWidget* parent, SourceItem* item);
 
 signals:
     void dataChanged();
@@ -37,7 +37,7 @@ private:
 
 private:
     QFormLayout* m_formLayout;
-    ScanItem* m_item;
+    SourceItem* m_item;
 };
 
 #endif // BORNAGAIN_GUI_VIEW_DEVICE_FOOTPRINTFORM_H
diff --git a/GUI/View/Instrument/GISASBeamEditor.cpp b/GUI/View/Instrument/GISASBeamEditor.cpp
index c35c150c13ec114775178323eb10ad42e60b60f0..e95d80d0b40220329ebe7d4d01ddc7770d2bd559 100644
--- a/GUI/View/Instrument/GISASBeamEditor.cpp
+++ b/GUI/View/Instrument/GISASBeamEditor.cpp
@@ -17,6 +17,7 @@
 #include "GUI/Model/Beam/BeamAngleItems.h"
 #include "GUI/Model/Beam/BeamWavelengthItem.h"
 #include "GUI/Model/Beam/SourceItems.h"
+#include "GUI/View/Device/FootprintForm.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 #include "GUI/View/Numeric/FixupDoubleValidator.h"
 #include "GUI/View/Tool/GroupBoxCollapser.h"
@@ -55,6 +56,9 @@ GISASBeamEditor::GISASBeamEditor(QWidget* parent, BeamItem* item)
                                this, item->azimuthalAngleItem());
     vLayout->addWidget(azimuthalEditor);
 
+    auto* footprintEditor = new FootprintForm(this, item);
+    vLayout->addWidget(footprintEditor);
+
     intensityEditor->setText(QString::number(item->intensity()));
 
     auto* collapser = GroupBoxCollapser::installIntoGroupBox(this);
@@ -68,6 +72,7 @@ GISASBeamEditor::GISASBeamEditor(QWidget* parent, BeamItem* item)
             &GISASBeamEditor::dataChanged);
     connect(azimuthalEditor, &DistributionEditor::distributionChanged, this,
             &GISASBeamEditor::dataChanged);
+    connect(footprintEditor, &FootprintForm::dataChanged, this, &GISASBeamEditor::dataChanged);
 
     // validate value while typing
     connect(intensityEditor, &QLineEdit::textEdited, [this, intensityEditor, item]() {