diff --git a/master/fsm_slave_config.c b/master/fsm_slave_config.c
index 28bc6bbbe3e0de2aca2b802e460473c063f148eb..0022a89748d5f0e751d3973aff364c63b1431853 100644
--- a/master/fsm_slave_config.c
+++ b/master/fsm_slave_config.c
@@ -568,9 +568,9 @@ void ec_fsm_slave_config_state_pdo_sync(ec_fsm_slave_config_t *fsm /**< slave st
     }
 
     // Start configuring Pdo mapping
-    fsm->state = ec_fsm_slave_config_state_pdo_mapping;
     ec_fsm_pdo_mapping_start(&fsm->fsm_pdo_mapping, fsm->slave);
-    ec_fsm_pdo_mapping_exec(&fsm->fsm_pdo_mapping); // execute immediately
+    fsm->state = ec_fsm_slave_config_state_pdo_mapping;
+    fsm->state(fsm); // execute immediately
 }
 
 /*****************************************************************************/
@@ -594,9 +594,9 @@ void ec_fsm_slave_config_state_pdo_mapping(
     }
 
     // start applying alternate Pdo assignments
-    fsm->state = ec_fsm_slave_config_state_pdo_assign;
     ec_fsm_pdo_assign_start(&fsm->fsm_pdo_assign, fsm->slave);
-    ec_fsm_pdo_assign_exec(&fsm->fsm_pdo_assign); // execute immediately
+    fsm->state = ec_fsm_slave_config_state_pdo_assign;
+    fsm->state(fsm); // execute immediately
 }
 
 /*****************************************************************************/