diff --git a/quad/sw/modular_quad_pid/src/callbacks.c b/quad/sw/modular_quad_pid/src/callbacks.c
index 805d05d9b2b9d3d253ef26d99626da9c06402893..2081b1dd51eefaef8fb9644d807ecc7b3f296252 100644
--- a/quad/sw/modular_quad_pid/src/callbacks.c
+++ b/quad/sw/modular_quad_pid/src/callbacks.c
@@ -214,13 +214,10 @@ int cb_getcontrol(modular_structs_t* structs)
 			// Controller value ID
 			resp_data[1] = controller_value_id;
 			// Controller value (4 byte float)
-			resp_data[2] = (controller_value) & 0x000000ff;
-			resp_data[3] = (controller_value >> 8) & 0x000000ff;
-			resp_data[4] = (controller_value >> 16) & 0x000000ff;
-			resp_data[5] = (controller_value >> 24) & 0x000000ff;
+			memcpy(&resp_data[2], &controller_value, sizeof(controller_value));
 			
 			// Send the data
-			send_data(RESPCONTROL_ID, msg_id, resp_data, sizeof(resp_data);
+			send_data(RESPCONTROL_ID, msg_id, resp_data, sizeof(resp_data));
 		}
 
 	}