diff --git a/GUI/View/Common/SafeSpinBox.cpp b/GUI/View/Common/SafeSpinBox.cpp
index 5693329d4e9728b2573a1a0cd8b6d6dbf2e9327d..44f74de457dd8d4747ac27b3ccd595ec3dcdda64 100644
--- a/GUI/View/Common/SafeSpinBox.cpp
+++ b/GUI/View/Common/SafeSpinBox.cpp
@@ -19,7 +19,7 @@ SafeSpinBox::SafeSpinBox(bool easyScrollable, QWidget* parent)
     : QSpinBox{parent}
     , easyScrollable(easyScrollable)
 {
-
+    setFocusPolicy(Qt::StrongFocus);
 }
 
 void SafeSpinBox::wheelEvent(QWheelEvent *event)
diff --git a/GUI/View/Instrument/AxisPropertyEditor.cpp b/GUI/View/Instrument/AxisPropertyEditor.cpp
index b4019169c1bad4b9da71641812966414097aaed6..b40525db88c7d4200be6ba7f49a1c1a7519c20e8 100644
--- a/GUI/View/Instrument/AxisPropertyEditor.cpp
+++ b/GUI/View/Instrument/AxisPropertyEditor.cpp
@@ -31,7 +31,7 @@ AxisPropertyEditor::AxisPropertyEditor(QWidget* parent, const QString& groupTitl
     auto* formLayout = new QFormLayout(this);
     formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint);
 
-    m_nbinsSpinBox = GUI::Util::createSpinBox(axisProperty->nbins());
+    m_nbinsSpinBox = GUI::Util::createSpinBoxRow(formLayout, axisProperty->nbins());
     m_minSpinBox = GUI::Util::createDoubleSpinBoxRow(formLayout, axisProperty->min());
     m_maxSpinBox = GUI::Util::createDoubleSpinBoxRow(formLayout, axisProperty->max());
 
diff --git a/GUI/View/Instrument/RectangularDetectorEditor.cpp b/GUI/View/Instrument/RectangularDetectorEditor.cpp
index 6475aba98bdb9c4b370648ad22b1e905525ded81..3aa2953dc912db36e4ee5ca769316779061a050e 100644
--- a/GUI/View/Instrument/RectangularDetectorEditor.cpp
+++ b/GUI/View/Instrument/RectangularDetectorEditor.cpp
@@ -16,6 +16,7 @@
 #include "GUI/Model/Device/AxesItems.h"
 #include "GUI/Model/Device/RectangularDetectorItem.h"
 #include "GUI/View/Common/DoubleSpinBox.h"
+#include "GUI/View/Common/SafeSpinBox.h"
 #include "GUI/View/Instrument/DetectorAlignmentEditor.h"
 #include "GUI/View/Instrument/ResolutionFunctionEditor.h"
 #include "GUI/View/Tool/GroupBoxCollapser.h"
@@ -41,7 +42,7 @@ RectangularDetectorEditor::RectangularDetectorEditor(QWidget* parent,
     xAxisGroupBox->setProperty("subgroup", true); // for stylesheet addressing
     auto* xAxisFormLayout = new QFormLayout(xAxisGroupBox);
 
-    auto* xAxisNbinsSpinBox = new QSpinBox(xAxisGroupBox);
+    auto* xAxisNbinsSpinBox = new SafeSpinBox;
     xAxisNbinsSpinBox->setRange(1, 65536);
     xAxisNbinsSpinBox->setValue(detector->xSize());
     xAxisFormLayout->addRow("Nbins:", xAxisNbinsSpinBox);
@@ -68,7 +69,7 @@ RectangularDetectorEditor::RectangularDetectorEditor(QWidget* parent,
     yAxisGroupBox->setProperty("subgroup", true); // for stylesheet addressing
     auto* yAxisFormLayout = new QFormLayout(yAxisGroupBox);
 
-    auto* yAxisNbinsSpinBox = new QSpinBox(yAxisGroupBox);
+    auto* yAxisNbinsSpinBox = new SafeSpinBox;
     yAxisNbinsSpinBox->setRange(1, 65536);
     yAxisNbinsSpinBox->setValue(detector->ySize());
     yAxisFormLayout->addRow("Nbins:", yAxisNbinsSpinBox);
diff --git a/GUI/View/Tool/WidgetUtils.cpp b/GUI/View/Tool/WidgetUtils.cpp
index 61cdfac908de84336f5dfcc6b7c2b4f1d44ab1f3..f929b0827b21d7fcb86b197118787bdb549f116b 100644
--- a/GUI/View/Tool/WidgetUtils.cpp
+++ b/GUI/View/Tool/WidgetUtils.cpp
@@ -24,12 +24,36 @@
 #include <QCheckBox>
 #include <QLineEdit>
 
+//QWidget* MinimizerSettingsWidget::createSpinbox(UIntDescriptor d)
+//{
+//    auto* spinBox = new QSpinBox(this);
+//    spinBox->setToolTip(d.tooltip);
+//    spinBox->setMaximum(std::numeric_limits<int>::max());
+//    spinBox->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
+
+//    if (d.limits.hasLowerLimit())
+//        spinBox->setMinimum(static_cast<int>(d.limits.lowerLimit()));
+//    if (d.limits.hasUpperLimit())
+//        spinBox->setMaximum(static_cast<int>(d.limits.upperLimit()));
+
+//    spinBox->setValue(d.get());
+
+//    QObject::connect(spinBox, QOverload<int>::of(&QSpinBox::valueChanged),
+//                     [=](int newValue) { d.set(newValue); });
+
+//    m_updaters << [=]() {
+//        QSignalBlocker b(spinBox);
+//        spinBox->setValue(d.get());
+//    };
+
+//    return spinBox;
+//}
+
 SafeSpinBox* GUI::Util::createSpinBox(const UIntDescriptor& d,
                                       std::function<void(uint)> slot,
                                       bool easyScrollable)
 {
     auto* spinBox = new SafeSpinBox(easyScrollable);
-    spinBox->setFocusPolicy(Qt::StrongFocus);
     spinBox->setToolTip(d.tooltip);
     spinBox->setMaximum(std::numeric_limits<int>::max());
     spinBox->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
@@ -74,7 +98,6 @@ QString GUI::Util::labelWithUnit(const QString& label, variant<QString, Unit> un
 {
     const QString s = std::holds_alternative<QString>(unit) ? std::get<QString>(unit)
                                                             : unitAsString(std::get<Unit>(unit));
-
     if (!s.isEmpty())
         return label + " [" + s + "]";