diff --git a/advanced_lab/c/shwater2d.c b/advanced_lab/c/shwater2d.c
index 90b905c1312b3d197487d08a0871be36d6e0d981..94748eea1eeb75103ed202d50feefcfa71701053 100644
--- a/advanced_lab/c/shwater2d.c
+++ b/advanced_lab/c/shwater2d.c
@@ -187,8 +187,8 @@ int main(int argc, char **argv) {
   nFy = (double **) malloc(cell_size * sizeof(double *));
 
   ffx[0] = (double *) malloc(cell_size * m * sizeof(double));
-  ffy[0] = (double *) malloc(cell_size * m * sizeof(double));
-  nFx[0] = (double *) malloc(cell_size * n * sizeof(double));
+  ffy[0] = (double *) malloc(cell_size * n * sizeof(double));
+  nFx[0] = (double *) malloc(cell_size * m * sizeof(double));
   nFy[0] = (double *) malloc(cell_size * n * sizeof(double));
 
   for (i = 0; i < cell_size; i++) {