diff --git a/master/slave.c b/master/slave.c
index eeb96e1870a22322bf0cef600a038ca26580ce47..8790748a14eb6f94ce1cd592b462a828dd11b8f7 100644
--- a/master/slave.c
+++ b/master/slave.c
@@ -156,7 +156,6 @@ int ec_slave_init(ec_slave_t *slave, /**< EtherCAT slave */
     INIT_LIST_HEAD(&slave->sii_pdos);
     INIT_LIST_HEAD(&slave->sdo_dictionary);
     INIT_LIST_HEAD(&slave->sdo_confs);
-    INIT_LIST_HEAD(&slave->varsize_fields);
 
     for (i = 0; i < 4; i++) {
         slave->dl_link[i] = 0;
@@ -184,7 +183,6 @@ void ec_slave_clear(struct kobject *kobj /**< kobject of the slave */)
     ec_sdo_t *sdo, *next_sdo;
     ec_sdo_entry_t *en, *next_en;
     ec_sdo_data_t *sdodata, *next_sdodata;
-    ec_varsize_t *var, *next_var;
 
     slave = container_of(kobj, ec_slave_t, kobj);
 
@@ -240,12 +238,6 @@ void ec_slave_clear(struct kobject *kobj /**< kobject of the slave */)
         kfree(sdodata);
     }
 
-    // free information about variable sized data fields
-    list_for_each_entry_safe(var, next_var, &slave->varsize_fields, list) {
-        list_del(&var->list);
-        kfree(var);
-    }
-
     if (slave->eeprom_data) kfree(slave->eeprom_data);
     if (slave->new_eeprom_data) kfree(slave->new_eeprom_data);
 }
diff --git a/master/slave.h b/master/slave.h
index a9d7087e543df18c106a76277ed2c8ced86a3882..c2ded12f6b2bd8224965405a6b93418daf8f434a 100644
--- a/master/slave.h
+++ b/master/slave.h
@@ -302,11 +302,8 @@ struct ec_slave
     ec_fmmu_t fmmus[EC_MAX_FMMUS]; /**< FMMU configurations */
     uint8_t fmmu_count; /**< number of FMMUs used */
 
-    struct list_head sdo_dictionary; /**< SDO directory list */
+    struct list_head sdo_dictionary; /**< SDO dictionary list */
     struct list_head sdo_confs; /**< list of SDO configurations */
-
-    struct list_head varsize_fields; /**< size information for variable-sized
-                                        data fields. */
 };
 
 /*****************************************************************************/