diff --git a/src/vnet/dpo/load_balance.c b/src/vnet/dpo/load_balance.c
index c0c440c..fb876a0 100644
--- a/src/vnet/dpo/load_balance.c
+++ b/src/vnet/dpo/load_balance.c
@@ -1029,12 +1029,12 @@
     {
         load_balance_t *lb;
 
-        pool_foreach(lb, load_balance_pool,
-        ({
+        pool_foreach (lb, load_balance_pool)
+         {
             vlib_cli_output (vm, "%U", format_load_balance,
                              load_balance_get_index(lb),
                              LOAD_BALANCE_FORMAT_NONE);
-        }));
+        }
     }
 
     return 0;
diff --git a/src/vnet/dpo/load_balance_map.c b/src/vnet/dpo/load_balance_map.c
index de5f30b..5524974 100644
--- a/src/vnet/dpo/load_balance_map.c
+++ b/src/vnet/dpo/load_balance_map.c
@@ -575,11 +575,11 @@
     {
         load_balance_map_t *lbm;
 
-        pool_foreach(lbm, load_balance_map_pool,
-        ({
+        pool_foreach (lbm, load_balance_map_pool)
+         {
             vlib_cli_output (vm, "%U", format_load_balance_map,
                              load_balance_map_get_index(lbm), 0);
-        }));
+        }
     }
 
     return 0;
diff --git a/src/vnet/dpo/lookup_dpo.c b/src/vnet/dpo/lookup_dpo.c
index 677a19f..23a1285 100644
--- a/src/vnet/dpo/lookup_dpo.c
+++ b/src/vnet/dpo/lookup_dpo.c
@@ -1480,13 +1480,13 @@
     {
         lookup_dpo_t *lkd;
 
-        pool_foreach(lkd, lookup_dpo_pool,
-        ({
+        pool_foreach (lkd, lookup_dpo_pool)
+         {
             vlib_cli_output (vm, "[@%d] %U",
                              lookup_dpo_get_index(lkd),
                              format_lookup_dpo,
                              lookup_dpo_get_index(lkd));
-        }));
+        }
     }
 
     return 0;
diff --git a/src/vnet/dpo/replicate_dpo.c b/src/vnet/dpo/replicate_dpo.c
index cd753dc..929fed0 100644
--- a/src/vnet/dpo/replicate_dpo.c
+++ b/src/vnet/dpo/replicate_dpo.c
@@ -697,12 +697,12 @@
     {
         replicate_t *rep;
 
-        pool_foreach(rep, replicate_pool,
-        ({
+        pool_foreach (rep, replicate_pool)
+         {
             vlib_cli_output (vm, "%U", format_replicate,
                              replicate_get_index(rep),
                              REPLICATE_FORMAT_NONE);
-        }));
+        }
     }
 
     return 0;
