diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
index 5cdfa5c8810230a3858a2bc09fce86081820af59..7bb9da3a0eeb60231a7c59516d1a9aedd34c24d3 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
@@ -187,7 +187,9 @@ bool QbsBuildStep::keepGoing() const
 
 int QbsBuildStep::maxJobs() const
 {
-    return m_qbsBuildOptions.maxJobCount;
+    if (m_qbsBuildOptions.maxJobCount > 0)
+        return m_qbsBuildOptions.maxJobCount;
+    return qbs::BuildOptions::defaultMaxJobCount();
 }
 
 bool QbsBuildStep::fromMap(const QVariantMap &map)
@@ -375,15 +377,12 @@ void QbsBuildStepConfigWidget::updateState()
     const int idx = (buildVariant == QLatin1String(Constants::QBS_VARIANT_DEBUG)) ? 0 : 1;
     m_ui->buildVariantComboBox->setCurrentIndex(idx);
 
-    qbs::BuildOptions defaultOptions;
-
     QString command = QLatin1String("qbs ");
     if (m_step->dryRun())
         command += QLatin1String("--dry-run ");
     if (m_step->keepGoing())
         command += QLatin1String("--keep-going ");
-    if (m_step->maxJobs() != defaultOptions.maxJobCount)
-        command += QString::fromLatin1("--jobs %1 ").arg(m_step->maxJobs());
+    command += QString::fromLatin1("--jobs %1 ").arg(m_step->maxJobs());
     command += QString::fromLatin1("build profile:%1 %2").arg(m_step->profile(), buildVariant);
 
     QString summary = tr("<b>Qbs:</b> %1").arg(command);
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui b/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
index cf0f48058c833f322c3880a62a4967cfd40b80da..2961f592d92457149f1b76e512c59eb230129aae 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
+++ b/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
@@ -6,52 +6,28 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>440</width>
-    <height>97</height>
+    <width>302</width>
+    <height>69</height>
    </rect>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <property name="verticalSpacing">
-    <number>16</number>
+   <property name="leftMargin">
+    <number>0</number>
    </property>
-   <item row="1" column="0" colspan="2">
-    <widget class="QFrame" name="frame">
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Plain</enum>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item row="0" column="0">
+    <widget class="QLabel" name="buildVariantLabel">
+     <property name="text">
+      <string>Build variant:</string>
      </property>
-     <layout class="QHBoxLayout" name="horizontalLayout_2">
-      <item>
-       <widget class="QCheckBox" name="dryRunCheckBox">
-        <property name="text">
-         <string>Dry run</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QCheckBox" name="keepGoingCheckBox">
-        <property name="text">
-         <string>Keep Going</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
-         <widget class="QSpinBox" name="jobSpinBox"/>
-        </item>
-        <item>
-         <widget class="QLabel" name="label">
-          <property name="text">
-           <string>jobs</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-     </layout>
     </widget>
    </item>
    <item row="0" column="1">
@@ -74,10 +50,44 @@
      </item>
     </widget>
    </item>
-   <item row="0" column="0">
-    <widget class="QLabel" name="buildVariantLabel">
+   <item row="0" column="2">
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <widget class="QSpinBox" name="jobSpinBox"/>
+     </item>
+     <item>
+      <widget class="QLabel" name="label">
+       <property name="text">
+        <string>jobs</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item row="1" column="0" colspan="2">
+    <widget class="QCheckBox" name="dryRunCheckBox">
      <property name="text">
-      <string>Build variant:</string>
+      <string>Dry run</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="2">
+    <widget class="QCheckBox" name="keepGoingCheckBox">
+     <property name="text">
+      <string>Keep Going</string>
      </property>
     </widget>
    </item>