diff --git a/reclass/adapters/salt.py b/reclass/adapters/salt.py
index 1b45823..f4f331b 100755
--- a/reclass/adapters/salt.py
+++ b/reclass/adapters/salt.py
@@ -24,7 +24,8 @@
                nodes_uri=OPT_NODES_URI,
                classes_uri=OPT_CLASSES_URI,
                class_mappings=None,
-               propagate_pillar_data_to_reclass=False):
+               propagate_pillar_data_to_reclass=False,
+               ignore_class_notfound=False):
 
     nodes_uri, classes_uri = path_mangler(inventory_base_uri,
                                           nodes_uri, classes_uri)
@@ -33,7 +34,8 @@
     input_data = None
     if propagate_pillar_data_to_reclass:
         input_data = pillar
-    reclass = Core(storage, class_mappings, input_data=input_data)
+    reclass = Core(storage, class_mappings, input_data=input_data,
+                   ignore_class_notfound=ignore_class_notfound)
 
     data = reclass.nodeinfo(minion_id)
     params = data.get('parameters', {})
@@ -48,13 +50,14 @@
 def top(minion_id, storage_type=OPT_STORAGE_TYPE,
         inventory_base_uri=OPT_INVENTORY_BASE_URI, nodes_uri=OPT_NODES_URI,
         classes_uri=OPT_CLASSES_URI,
-        class_mappings=None):
+        class_mappings=None, ignore_class_notfound=False):
 
     nodes_uri, classes_uri = path_mangler(inventory_base_uri,
                                           nodes_uri, classes_uri)
     storage = get_storage(storage_type, nodes_uri, classes_uri,
                           default_environment='base')
-    reclass = Core(storage, class_mappings, input_data=None)
+    reclass = Core(storage, class_mappings, input_data=None,
+                   ignore_class_notfound=ignore_class_notfound)
 
     # if the minion_id is not None, then return just the applications for the
     # specific minion, otherwise return the entire top data (which we need for
diff --git a/reclass/core.py b/reclass/core.py
index 76bd0a8..0c8543d 100644
--- a/reclass/core.py
+++ b/reclass/core.py
@@ -18,9 +18,11 @@
 
 class Core(object):
 
-    def __init__(self, storage, class_mappings, input_data=None):
+    def __init__(self, storage, class_mappings, input_data=None,
+            ignore_class_notfound=False):
         self._storage = storage
         self._class_mappings = class_mappings
+        self._ignore_class_notfound = ignore_class_notfound
         self._input_data = input_data
 
     @staticmethod
@@ -93,6 +95,8 @@
                 try:
                     class_entity = self._storage.get_class(klass)
                 except ClassNotFound, e:
+                    if self._ignore_class_notfound:
+                        continue
                     e.set_nodename(nodename)
                     raise e
 
