diff --git a/homeassistant/components/media_player/cast.py b/homeassistant/components/media_player/cast.py
index a07ff74ccaea3f52763adf9d394957024e673e0b..40e09ea328cc6a03160eb1a4225a7ff3c166129d 100644
--- a/homeassistant/components/media_player/cast.py
+++ b/homeassistant/components/media_player/cast.py
@@ -182,7 +182,8 @@ def async_setup_platform(hass: HomeAssistantType, config: ConfigType,
     else:
         # Manually add a "normal" Chromecast, we can do that without discovery.
         try:
-            chromecast = pychromecast.Chromecast(*want_host)
+            chromecast = yield from hass.async_add_job(
+                pychromecast.Chromecast, *want_host)
         except pychromecast.ChromecastConnectionError:
             _LOGGER.warning("Can't set up chromecast on %s", want_host[0])
             raise