diff --git a/IPython/config/configurable.py b/IPython/config/configurable.py
index 3dc973a..8cfb695 100755
--- a/IPython/config/configurable.py
+++ b/IPython/config/configurable.py
@@ -207,8 +207,9 @@ class Configurable(HasTraits):
         for parent in cls.mro():
             # only include parents that are not base classes
             # and are not the class itself
-            if issubclass(parent, Configurable) and \
-                    not parent in (Configurable, SingletonConfigurable, cls):
+            # and have some configurable traits to inherit
+            if parent is not cls and issubclass(parent, Configurable) and \
+                    parent.class_traits(config=True):
                 parents.append(parent)
         
         if parents: