diff --git a/master/fsm_master.c b/master/fsm_master.c
index fa88b692d6b4242071d958c7c167bfb3a605cb10..c853b7c84007bf329d935e489b4ce80b9a8618e1 100644
--- a/master/fsm_master.c
+++ b/master/fsm_master.c
@@ -697,15 +697,15 @@ void ec_fsm_master_state_rewrite_addresses(ec_fsm_master_t *fsm
 void ec_fsm_master_state_scan_slaves(ec_fsm_master_t *fsm /**< master state machine */)
 {
     ec_master_t *master = fsm->master;
-    ec_slave_t *slave = fsm->slave;
+    ec_slave_t *slave;
 
     if (ec_fsm_slave_exec(&fsm->fsm_slave)) // execute slave state machine
         return;
 
     // another slave to fetch?
-    if (slave->list.next != &master->slaves) {
+    if (fsm->slave->list.next != &master->slaves) {
         fsm->slave = list_entry(fsm->slave->list.next, ec_slave_t, list);
-        ec_fsm_slave_start_scan(&fsm->fsm_slave, slave);
+        ec_fsm_slave_start_scan(&fsm->fsm_slave, fsm->slave);
         ec_fsm_slave_exec(&fsm->fsm_slave); // execute immediately
         return;
     }