diff --git a/setup.py b/setup.py
index c6bff8fd9ff6774b8345eebe32d8eec0f91ebd60..2d3bb61140004d2499b588720523a661b228c725 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@ def read(filename):
 
 setup(
     name='TurnTouch',
-    version='0.4',
+    version='0.4.1',
     url='https://github.com/antsar/python-turntouch',
     author='Anton Sarukhanov',
     author_email='code@ant.sr',
diff --git a/turntouch/turntouch.py b/turntouch/turntouch.py
index ae62f0b7798c4415a6794ed48e222f4f5f936452..a7fcd63617db8bb7e1a444f03d6a0720a41f39ce 100644
--- a/turntouch/turntouch.py
+++ b/turntouch/turntouch.py
@@ -327,16 +327,22 @@ class TurnTouch(btle.Peripheral):
 
     def _enable_notifications(self, enabled=True):
         """Tell the remote to start sending button press notifications."""
-        notification_handle = self.getCharacteristics(
-            uuid=self.BUTTON_STATUS_CHARACTERISTIC_UUID)[0].getHandle()
-        notification_enable_handle = notification_handle + 1
-        logger.debug("{action} notifications for device {address}...".format(
-            action="Enabling" if enabled else "Disabling", address=self.addr))
-        self.writeCharacteristic(notification_enable_handle,
-                                 bytes([0x01 if enabled else 0x00, 0x00]),
-                                 withResponse=True)
-        logger.debug("Notifications {action} for device {address}.".format(
-            action="enabled" if enabled else "disabled", address=self.addr))
+        try:
+            notification_handle = self.getCharacteristics(
+                uuid=self.BUTTON_STATUS_CHARACTERISTIC_UUID)[0].getHandle()
+            notification_enable_handle = notification_handle + 1
+            logger.debug("{action} notifications for device {address}..."
+                         .format(action="Enabling" if enabled else "Disabling",
+                                 address=self.addr))
+            self.writeCharacteristic(notification_enable_handle,
+                                     bytes([0x01 if enabled else 0x00, 0x00]),
+                                     withResponse=True)
+            logger.debug("Notifications {action} for device {address}."
+                         .format(action="enabled" if enabled else "disabled",
+                                 address=self.addr))
+        except btle.BTLEException:
+            raise TurnTouchException("Failed to enable notifications for"
+                                     "device {addr}".format(addr=self.addr))
 
     class NotificationDelegate(btle.DefaultDelegate):
         """Handle callbacks for notifications from the device.