diff --git a/master/slave_config.c b/master/slave_config.c
index 5cc948e2e27477837a531d8e76e53cfab5f805df..76f716af4a86d995b1050e7d59f4961a7ae6db4d 100644
--- a/master/slave_config.c
+++ b/master/slave_config.c
@@ -192,6 +192,7 @@ int ec_slave_config_attach(
                     sc->position, slave->ring_position);
         return -2;
     }
+
     if (slave->sii.vendor_id != sc->vendor_id
             || slave->sii.product_code != sc->product_code) {
         if (sc->master->debug_level)
@@ -206,6 +207,11 @@ int ec_slave_config_attach(
 	// attach slave
 	slave->config = sc;
 	sc->slave = slave;
+
+    // force reconfiguration, because the master could have had no possibility
+    // for a reconfiguration, between two operation phases.
+    slave->force_config = 1;
+
     ec_slave_request_state(slave, EC_SLAVE_STATE_OP);
 
     if (sc->master->debug_level)