diff --git a/homeassistant/components/homematic.py b/homeassistant/components/homematic.py
index 040a15a368e1b24448cd78e077c54aa158c7f3c0..6662c6bbe0df4ff5d4fdb742e9fc84bd102e593e 100644
--- a/homeassistant/components/homematic.py
+++ b/homeassistant/components/homematic.py
@@ -22,7 +22,6 @@ from homeassistant.const import EVENT_HOMEASSISTANT_STOP, \
     ATTR_DISCOVERED, \
     STATE_UNKNOWN
 from homeassistant.loader import get_component
-from homeassistant.helpers import discovery
 from homeassistant.helpers.entity import Entity
 import homeassistant.bootstrap
 
@@ -151,11 +150,25 @@ def system_callback_handler(hass, config, src, *args):
                 # they are setup in HA and an event is fired
                 if found_devices:
                     component = get_component(component_name)
-
-                    # HA discovery event
-                    discovery.load_platform(hass, component, DOMAIN, {
-                        ATTR_DISCOVER_DEVICES: found_devices
-                    }, config)
+                    config = {component.DOMAIN: found_devices}
+
+                    # Ensure component is loaded
+                    homeassistant.bootstrap.setup_component(
+                            hass,
+                            component.DOMAIN,
+                            config)
+
+                    # Fire discovery event
+                    hass.bus.fire(
+                            EVENT_PLATFORM_DISCOVERED, {
+                                ATTR_SERVICE: discovery_type,
+                                ATTR_DISCOVERED: {
+                                    ATTR_DISCOVER_DEVICES:
+                                        found_devices,
+                                    ATTR_DISCOVER_CONFIG: ''
+                                }
+                            }
+                    )
 
             for dev in devices_not_created:
                 if dev in HOMEMATIC_DEVICES: