diff --git a/fw-update/device_updater.cpp b/fw-update/device_updater.cpp
index 14d507b..f61428b 100644
--- a/fw-update/device_updater.cpp
+++ b/fw-update/device_updater.cpp
@@ -377,6 +377,15 @@
     }
 }
 
+void DeviceUpdater::createRequestFwDataTimer()
+{
+    reqFwDataTimer = std::make_unique<sdbusplus::Timer>([this]() -> void {
+        componentUpdateStatus[componentIndex] = false;
+        sendCancelUpdateComponentRequest();
+        updateManager->updateDeviceCompletion(eid, false);
+    });
+}
+
 Response DeviceUpdater::requestFwData(const pldm_msg* request,
                                       size_t payloadLength)
 {
@@ -463,6 +472,27 @@
         return response;
     }
 
+    if (!reqFwDataTimer)
+    {
+        if (offset != 0)
+        {
+            warning("First data request is not at offset 0");
+        }
+        createRequestFwDataTimer();
+    }
+
+    if (reqFwDataTimer)
+    {
+        reqFwDataTimer->start(std::chrono::seconds(updateTimeoutSeconds),
+                              false);
+    }
+    else
+    {
+        error(
+            "Failed to start timer for handling request firmware data for endpoint ID {EID}",
+            "EID", eid, "RC", rc);
+    }
+
     return response;
 }
 
@@ -473,6 +503,12 @@
     Response response(sizeof(pldm_msg_hdr) + sizeof(completionCode), 0);
     auto responseMsg = new (response.data()) pldm_msg;
 
+    if (reqFwDataTimer)
+    {
+        reqFwDataTimer->stop();
+        reqFwDataTimer.reset();
+    }
+
     uint8_t transferResult = 0;
     auto rc =
         decode_transfer_complete_req(request, payloadLength, &transferResult);
