diff --git a/oslo_messaging/notify/notifier.py b/oslo_messaging/notify/notifier.py
index cb23aef0a..caf04aba4 100644
--- a/oslo_messaging/notify/notifier.py
+++ b/oslo_messaging/notify/notifier.py
@@ -415,6 +415,14 @@ class Notifier(object):
         """
         self._notify(ctxt, event_type, payload, 'SAMPLE')
 
+    def is_enabled(self):
+        """Check if the notifier will emit notifications anywhere.
+
+        :return: false if the driver of the notifier is set only to noop, true
+                 otherwise
+        """
+        return self._driver_mgr.names() != ['noop']
+
 
 class _SubNotifier(Notifier):
 
diff --git a/oslo_messaging/tests/notify/test_notifier.py b/oslo_messaging/tests/notify/test_notifier.py
index d63198030..31e62472d 100755
--- a/oslo_messaging/tests/notify/test_notifier.py
+++ b/oslo_messaging/tests/notify/test_notifier.py
@@ -226,6 +226,8 @@ class TestMessagingNotifier(test_utils.BaseTestCase):
         uuid.uuid4.assert_called_once_with()
         transport._send_notification.assert_has_calls(calls, any_order=True)
 
+        self.assertTrue(notifier.is_enabled())
+
 TestMessagingNotifier.generate_scenarios()
 
 
@@ -337,6 +339,8 @@ class TestLogNotifier(test_utils.BaseTestCase):
                                                   'notification.test.notify')
         logger.info.assert_called_once_with(JsonMessageMatcher(message))
 
+        self.assertTrue(notifier.is_enabled())
+
     def test_sample_priority(self):
         # Ensure logger drops sample-level notifications.
         driver = _impl_log.LogDriver(None, None, None)
@@ -379,6 +383,8 @@ class TestRoutingNotifier(test_utils.BaseTestCase):
         self.notifier = oslo_messaging.Notifier(transport)
         self.router = self.notifier._driver_mgr['routing'].obj
 
+        self.assertTrue(self.notifier.is_enabled())
+
     def _fake_extension_manager(self, ext):
         return extension.ExtensionManager.make_test_instance(
             [extension.Extension('test', None, None, ext), ])
@@ -593,3 +599,16 @@ group_1:
                     {}, mock.ANY, 'INFO', None)
                 rpc2_driver.notify.assert_called_once_with(
                     {}, mock.ANY, 'INFO', None)
+
+
+class TestNoOpNotifier(test_utils.BaseTestCase):
+
+    def test_notifier(self):
+        self.config(driver=['noop'],
+                    group='oslo_messaging_notifications')
+
+        transport = _FakeTransport(self.conf)
+
+        notifier = oslo_messaging.Notifier(transport, 'test.localhost')
+
+        self.assertFalse(notifier.is_enabled())