diff --git a/receiver/src/receiver_data_server/rds_net_server.h b/receiver/src/receiver_data_server/rds_net_server.h
index 7498f77949dda50f94c8d91eaef12779523d64d7..7465a583869c23fae5000a65302cbb71aa1c2e4b 100644
--- a/receiver/src/receiver_data_server/rds_net_server.h
+++ b/receiver/src/receiver_data_server/rds_net_server.h
@@ -10,7 +10,8 @@ namespace asapo {
 class RdsNetServer {
   public:
     virtual GenericRequests GetNewRequests(Error* err) const noexcept = 0;
-    virtual Error SendResponse(uint64_t source_id, const GenericNetworkResponse* response) const noexcept = 0;
+    virtual Error SendResponse(const ReceiverDataServerRequest* request, uint64_t source_id,
+                               const GenericNetworkResponse* response) const noexcept = 0;
     virtual Error
     SendResponseAndSlotData(const ReceiverDataServerRequest* request, uint64_t source_id,
                             const GenericNetworkResponse* response,
diff --git a/receiver/src/receiver_data_server/receiver_data_server_request_handler.cpp b/receiver/src/receiver_data_server/receiver_data_server_request_handler.cpp
index c8668d763ab3b517db140dc90a398cda5b5c3b40..c064a9772f379e1f78100307a1a63df437f04d17 100644
--- a/receiver/src/receiver_data_server/receiver_data_server_request_handler.cpp
+++ b/receiver/src/receiver_data_server/receiver_data_server_request_handler.cpp
@@ -19,7 +19,7 @@ Error ReceiverDataServerRequestHandler::SendResponse(const ReceiverDataServerReq
     GenericNetworkResponse response{};
     response.op_code = kOpcodeGetBufferData;
     response.error_code = code;
-    return server_->SendResponse(request->source_id, &response);
+    return server_->SendResponse(request, request->source_id, &response);
 }
 
 Error ReceiverDataServerRequestHandler::SendResponseAndSlotData(const ReceiverDataServerRequest* request,
diff --git a/receiver/src/receiver_data_server/tcp_server.cpp b/receiver/src/receiver_data_server/tcp_server.cpp
index 36c72c4fde0306f6e825930e5ebd826cfae110f9..6dd04c6368970992bdd23d39299f4f5b0780ddc1 100644
--- a/receiver/src/receiver_data_server/tcp_server.cpp
+++ b/receiver/src/receiver_data_server/tcp_server.cpp
@@ -94,7 +94,8 @@ void TcpServer::HandleAfterError(uint64_t source_id) const noexcept {
     CloseSocket(source_id);
 }
 
-Error TcpServer::SendResponse(uint64_t source_id, const GenericNetworkResponse* response) const noexcept {
+Error TcpServer::SendResponse(const ReceiverDataServerRequest* request, uint64_t source_id,
+                              const GenericNetworkResponse* response) const noexcept {
     Error err;
     io__->Send(source_id, response, sizeof(*response), &err);
     if (err) {
@@ -109,7 +110,7 @@ TcpServer::SendResponseAndSlotData(const ReceiverDataServerRequest* request, uin
                                    const CacheMeta* cache_slot) const noexcept {
     Error err;
 
-    err = SendResponse(source_id, response);
+    err = SendResponse(nullptr, source_id, response);
     if (err) {
         return err;
     }
diff --git a/receiver/src/receiver_data_server/tcp_server.h b/receiver/src/receiver_data_server/tcp_server.h
index 12d9aac118dba7bc7e77446d15c4c4a62eec1bf1..c7caf5eccb87c891bd9bca09c905799ecb6b17bd 100644
--- a/receiver/src/receiver_data_server/tcp_server.h
+++ b/receiver/src/receiver_data_server/tcp_server.h
@@ -14,7 +14,8 @@ class TcpServer : public RdsNetServer {
     explicit TcpServer(std::string address);
     ~TcpServer() override;
     GenericRequests GetNewRequests(Error* err) const noexcept override ;
-    Error SendResponse(uint64_t source_id, const GenericNetworkResponse* response) const noexcept override;
+    Error SendResponse(const ReceiverDataServerRequest* request, uint64_t source_id,
+                       const GenericNetworkResponse* response) const noexcept override;
     Error SendResponseAndSlotData(const ReceiverDataServerRequest* request, uint64_t source_id,
                                   const GenericNetworkResponse* response,
                                   const CacheMeta* cache_slot) const noexcept override;
diff --git a/receiver/unittests/receiver_data_server/receiver_dataserver_mocking.h b/receiver/unittests/receiver_data_server/receiver_dataserver_mocking.h
index bfe19e4098a50110037bed22e1250f1320a4f362..dc8c1ef9e2bdbde6f7a7128dd505494db16831c2 100644
--- a/receiver/unittests/receiver_data_server/receiver_dataserver_mocking.h
+++ b/receiver/unittests/receiver_data_server/receiver_dataserver_mocking.h
@@ -27,10 +27,12 @@ class MockNetServer : public RdsNetServer {
     MOCK_CONST_METHOD1(GetNewRequests_t, std::vector<ReceiverDataServerRequest> (ErrorInterface**
                        error));
 
-    Error SendResponse(uint64_t source_id, const GenericNetworkResponse* response) const noexcept override  {
-        return  Error{SendResponse_t(source_id, response)};
+    Error SendResponse(const ReceiverDataServerRequest* request, uint64_t source_id,
+                       const GenericNetworkResponse* response) const noexcept override  {
+        return  Error{SendResponse_t(request, source_id, response)};
     };
-    MOCK_CONST_METHOD2(SendResponse_t, ErrorInterface * (uint64_t source_id, const GenericNetworkResponse* response));
+    MOCK_CONST_METHOD3(SendResponse_t, ErrorInterface * (const ReceiverDataServerRequest* request, uint64_t source_id,
+                       const GenericNetworkResponse* response));
 
     Error SendResponseAndSlotData(const ReceiverDataServerRequest* request, uint64_t source_id,
                                   const GenericNetworkResponse* response,
diff --git a/receiver/unittests/receiver_data_server/test_request_handler.cpp b/receiver/unittests/receiver_data_server/test_request_handler.cpp
index 7334eb182bba1a42667d4acc44173281d1eb5f9b..613aaf47761f722bc7ac7b8f028acdcc327c4881 100644
--- a/receiver/unittests/receiver_data_server/test_request_handler.cpp
+++ b/receiver/unittests/receiver_data_server/test_request_handler.cpp
@@ -87,6 +87,7 @@ void RequestHandlerTests::MockGetSlotAndUnlockIt(bool return_without_error) {
 
 void RequestHandlerTests::MockSendResponse(asapo::NetworkErrorCode expected_response_code, bool return_without_error) {
     EXPECT_CALL(mock_net, SendResponse_t(
+                    &request,
                     expected_source_id,
                     M_CheckResponse(asapo::kOpcodeGetBufferData, expected_response_code, "")
                 )).WillOnce(
diff --git a/receiver/unittests/receiver_data_server/test_tcp_server.cpp b/receiver/unittests/receiver_data_server/test_tcp_server.cpp
index 1d9127a5098399fb97b7a75fa7cb152748142ce0..40b1a4a82ddfe55b30661e27c415a797fbcbc596 100644
--- a/receiver/unittests/receiver_data_server/test_tcp_server.cpp
+++ b/receiver/unittests/receiver_data_server/test_tcp_server.cpp
@@ -236,8 +236,9 @@ TEST_F(TCPServerTests, GetNewRequestsReadOk) {
 
 TEST_F(TCPServerTests, SendResponse) {
     asapo::GenericNetworkResponse tmp {};
+    asapo::ReceiverDataServerRequest expectedRequest {{}, 30};
 
-    EXPECT_CALL(mock_io, Send_t(1, &tmp, sizeof(asapo::GenericNetworkResponse), _))
+    EXPECT_CALL(mock_io, Send_t(30, &tmp, sizeof(asapo::GenericNetworkResponse), _))
     .WillOnce(
         DoAll(
             testing::SetArgPointee<3>(asapo::IOErrorTemplates::kUnknownIOError.Generate().release()),
@@ -246,7 +247,7 @@ TEST_F(TCPServerTests, SendResponse) {
 
     EXPECT_CALL(mock_logger, Error(HasSubstr("cannot send")));
 
-    auto err = tcp_server.SendResponse(1, &tmp);
+    auto err = tcp_server.SendResponse(&expectedRequest, 30, &tmp);
 
     ASSERT_THAT(err, Ne(nullptr));
 }