diff -Nurpd a/scribus/ui/scrspinbox.cpp b/scribus/ui/scrspinbox.cpp
--- a/scribus/ui/scrspinbox.cpp	2024-01-07 18:06:55.000000000 +0100
+++ b/scribus/ui/scrspinbox.cpp	2024-01-11 17:52:52.928675514 +0100
@@ -43,7 +43,7 @@ void ScrSpinBox::init(int unitIndex)
 	setSuffix(unitGetSuffixFromIndex(m_unitIndex));
 	setDecimals(unitGetPrecisionFromIndex(m_unitIndex));
 	setLocale(LocaleManager::instance().userPreferredLocale());
-	setSingleStep(1.0);
+	setSingleStep((m_unitIndex == SC_INCHES) ? 0.125 : 1.0);
 	lineEdit()->setValidator(nullptr);
 	disconnect(this, SIGNAL(valueChanged(const QString &)), this, SLOT(textChanged()));
 	connect(this, SIGNAL(valueChanged(const QString &)), this, SLOT(textChanged()));
@@ -52,7 +52,7 @@ void ScrSpinBox::init(int unitIndex)
 
 double ScrSpinBox::unitRatio() const
 {
-	return unitGetRatioFromIndex(m_unitIndex); 
+	return unitGetRatioFromIndex(m_unitIndex);
 }
 
 void ScrSpinBox::setValue(int val)
@@ -113,7 +113,7 @@ void ScrSpinBox::setNewUnit(int unitInde
 	double newUnitRatio = unitGetRatioFromIndex(unitIndex);
 	setMinimum(oldMin * newUnitRatio);
 	setMaximum(oldMax * newUnitRatio);
-	setSingleStep(1.0);
+	setSingleStep((m_unitIndex == SC_INCHES) ? 0.125 : 1.0);
 	m_unitIndex = unitIndex;
  	setValue(oldVal * newUnitRatio);
 }
@@ -342,22 +342,22 @@ bool ScrSpinBox::eventFilter(QObject* wa
 		bool altB = wheelEvent->modifiers() & Qt::AltModifier;
 		if (shiftB && !altB)
 		{
-			setSingleStep(0.1);
+			setSingleStep((m_unitIndex == SC_INCHES) ? 0.0625 : 0.1);
 			retval = QAbstractSpinBox::event(event);
-		} 
+		}
 		else if (!shiftB && altB)
 		{
-			setSingleStep(10.0);
+			setSingleStep((m_unitIndex == SC_INCHES) ? 1.0 : 10.0);
 			retval = QAbstractSpinBox::event(event);
 		}
 		else if (shiftB && altB)
 		{
-			setSingleStep(0.01);
+			setSingleStep((m_unitIndex == SC_INCHES) ? 0.03125 : 0.01);
 			retval = QAbstractSpinBox::event(event);
 		}
 		else
 		{
-			setSingleStep(1.0);
+			setSingleStep((m_unitIndex == SC_INCHES) ? 0.125 : 1.0);
 			retval = QAbstractSpinBox::event(event);
 		}
 		return retval;
