diff --git a/quad/sw/modular_quad_pid/src/callbacks.c b/quad/sw/modular_quad_pid/src/callbacks.c
index 1d4604781946d5cc0584bfe0c948c06aa4832639..ca829350120f5907ee5db453469a4e4675f613e9 100644
--- a/quad/sw/modular_quad_pid/src/callbacks.c
+++ b/quad/sw/modular_quad_pid/src/callbacks.c
@@ -159,6 +159,7 @@ int cb_getcontrol(modular_structs_t* structs)
 {
 	// Get the data length
 	u16 data_len = uart_buff_get_u16(6);
+	u16 msg_id = uart_buff_get_u16(3);
 	// Check if the data length is correct
 	if (data_len == 2)
 	{
@@ -190,7 +191,7 @@ int cb_getcontrol(modular_structs_t* structs)
 			}
 
 			// Send the controller value
-			send_data(RESPCONTROL_ID, 0, (char *) &controller_value, sizeof(controller_value));
+			send_data(RESPCONTROL_ID, msg_id, (char *) &controller_value, sizeof(controller_value));
 		}
 
 	}