diff --git a/homeassistant/components/cover/mqtt.py b/homeassistant/components/cover/mqtt.py
index 0f31d3a9fe030d56b7591dc6b3fbe8b00efb0ff5..235ff5799cc8101ea0a4dec14ad08042fac3217c 100644
--- a/homeassistant/components/cover/mqtt.py
+++ b/homeassistant/components/cover/mqtt.py
@@ -235,6 +235,11 @@ class MqttCover(MqttAvailability, CoverDevice):
         """No polling needed."""
         return False
 
+    @property
+    def assumed_state(self):
+        """Return true if we do optimistic updates."""
+        return self._optimistic
+
     @property
     def name(self):
         """Return the name of the cover."""
diff --git a/tests/components/cover/test_mqtt.py b/tests/components/cover/test_mqtt.py
index 23a7b32fc28920b5a597bf7ae2d5ee61b3765494..aea6398e3ae8741f679df19c576a196c82fbad15 100644
--- a/tests/components/cover/test_mqtt.py
+++ b/tests/components/cover/test_mqtt.py
@@ -2,8 +2,8 @@
 import unittest
 
 from homeassistant.setup import setup_component
-from homeassistant.const import STATE_OPEN, STATE_CLOSED, STATE_UNKNOWN,\
-    STATE_UNAVAILABLE
+from homeassistant.const import STATE_OPEN, STATE_CLOSED, STATE_UNKNOWN, \
+    STATE_UNAVAILABLE, ATTR_ASSUMED_STATE
 import homeassistant.components.cover as cover
 from homeassistant.components.cover.mqtt import MqttCover
 
@@ -40,6 +40,7 @@ class TestCoverMQTT(unittest.TestCase):
 
         state = self.hass.states.get('cover.test')
         self.assertEqual(STATE_UNKNOWN, state.state)
+        self.assertFalse(state.attributes.get(ATTR_ASSUMED_STATE))
 
         fire_mqtt_message(self.hass, 'state-topic', '0')
         self.hass.block_till_done()
@@ -112,6 +113,7 @@ class TestCoverMQTT(unittest.TestCase):
 
         state = self.hass.states.get('cover.test')
         self.assertEqual(STATE_UNKNOWN, state.state)
+        self.assertTrue(state.attributes.get(ATTR_ASSUMED_STATE))
 
         cover.open_cover(self.hass, 'cover.test')
         self.hass.block_till_done()