diff --git a/control/zone.cpp b/control/zone.cpp
index 3eab42f..88cdc86 100644
--- a/control/zone.cpp
+++ b/control/zone.cpp
@@ -132,7 +132,7 @@
     if (targetDelta > _incSpeedDelta &&
         _targetSpeed < _ceilingSpeed)
     {
-        auto requestTarget = _targetSpeed;
+        auto requestTarget = getRequestSpeedBase();
         requestTarget = (targetDelta - _incSpeedDelta) + requestTarget;
         _incSpeedDelta = targetDelta;
         // Target speed can not go above a defined ceiling speed
@@ -174,7 +174,7 @@
     // the increase timer is not running (i.e. not in the middle of increasing)
     if (_incSpeedDelta == 0 && !_incTimer.running())
     {
-        auto requestTarget = _targetSpeed;
+        auto requestTarget = getRequestSpeedBase();
         // Target speed can not go below the defined floor speed
         if ((requestTarget < _decSpeedDelta) ||
             (requestTarget - _decSpeedDelta < _floorSpeed))
diff --git a/control/zone.hpp b/control/zone.hpp
index 1696bda..c7995b6 100644
--- a/control/zone.hpp
+++ b/control/zone.hpp
@@ -382,6 +382,17 @@
         std::vector<std::unique_ptr<phosphor::fan::util::Timer>> _timerEvents;
 
         /**
+         * @brief Get the request speed base if defined, otherwise the
+         * the current target speed is returned
+         *
+         * @return - The request speed base or current target speed
+         */
+        inline auto getRequestSpeedBase() const
+        {
+            return (_requestSpeedBase != 0) ? _requestSpeedBase : _targetSpeed;
+        };
+
+        /**
          * @brief Refresh the given property's cached value
          *
          * @param[in] bus - the bus to use
