diff --git a/TODO b/TODO
index 76e8bb3375873f88427a843a9d81f12e36a4825a..1cb700a9bb910d53a08d3cdef4df3b223b9182c9 100644
--- a/TODO
+++ b/TODO
@@ -10,7 +10,7 @@ $Id$
   - Remove ecrt_master_run(). Make master FSM run in process context instead.
   - Remove addressing scheme "X:Y".
   - Allow only MAC address as device ID.
-  - Remove ugly ec_slave_is_coupler() and ec_slave_has_subbus().
+  - Remove ugly ec_slave_is_coupler().
 
 * Future features:
   - SDO dictionary and -access in operation mode.
diff --git a/master/slave.c b/master/slave.c
index 23801dca011c05263405e43ae318baa6d7bf5ff3..88f85db8c3eaf441009e4463abbe1b0522ef95e0 100644
--- a/master/slave.c
+++ b/master/slave.c
@@ -1193,18 +1193,6 @@ int ec_slave_is_coupler(const ec_slave_t *slave /**< EtherCAT slave */)
 
 /*****************************************************************************/
 
-/**
-   \return non-zero if slave is a bus coupler
-*/
-
-int ec_slave_has_subbus(const ec_slave_t *slave /**< EtherCAT slave */)
-{
-    return slave->sii_vendor_id == 0x00000002
-        && slave->sii_product_code == 0x04602c22;
-}
-
-/*****************************************************************************/
-
 /**
    \return 0 in case of success, else < 0
 */
diff --git a/master/slave.h b/master/slave.h
index d58cea293c33cddc419be7c076baa480b1afc5a4..86506a2627cdbcb6e5dce9c2ccded7da47bceb43 100644
--- a/master/slave.h
+++ b/master/slave.h
@@ -291,7 +291,6 @@ void ec_slave_fmmu_config(const ec_slave_t *, const ec_fmmu_t *, uint8_t *);
 uint16_t ec_slave_calc_sync_size(const ec_slave_t *, const ec_sii_sync_t *);
 
 int ec_slave_is_coupler(const ec_slave_t *);
-int ec_slave_has_subbus(const ec_slave_t *);
 
 int ec_slave_validate(const ec_slave_t *, uint32_t, uint32_t);