diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/FullyConnected/aidge_fc_float32.c b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/FullyConnected/aidge_fc_float32.c
index 7f2a78a8cde010e682c33524354c859deb981d4b..a38efabdcdacde1c0b457232e655a877b6f3ac63 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/FullyConnected/aidge_fc_float32.c
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/FullyConnected/aidge_fc_float32.c
@@ -12,7 +12,7 @@ void aidge_fc_float32 (float* inputs,
         float accum = biases[out]; 
 
         for (unsigned int in = 0; in < nb_inputs; ++in) {
-            accum += inputs[in] * weights[in * nb_outputs + out];
+            accum += inputs[in] * weights[out * nb_inputs + in];
         }
 
         // Store result