diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
index b611de9da676038cd1ee2fa83ad2f0d5cc862812..21f7043b5fcdb8cda700831b6971add7cf0e0a11 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
@@ -124,13 +124,16 @@ def findViewAlgs( inputNodes, viewNodes ):
         if isSequence( node ):
 
             # Identify view CF nodes
-            if node.getName() in viewNodes:
+            if node.getName() in viewNodes.keys():
 
                 # Retrieve view algorithms
                 # (views don't nest, so will be returned in first list)
-                newViewAlgs, dummy = findViewAlgs( node.getChildren(), [] )
+                newViewAlgs, dummy = findViewAlgs( node.getChildren(), {} )
                 viewAlgs += newViewAlgs
 
+                # Record the fact that the view node is found
+                viewNodes[ node.getName() ] = True
+
             # Explore the tree
             else:
                 newAlgs, newViewAlgs = findViewAlgs( node.getChildren(), viewNodes )
@@ -237,14 +240,22 @@ def makeHLTTree(HLTChains, newJO=False, triggerConfigHLT = None):
         
     topSequence += hltTop
 
-    # List all CF nodes to be used with EventViews
-    viewNodes = []
+    # List all CF nodes to be used with EventViews (and whether they are found)
+    viewNodes = {}
     for viewMaker in viewMakers:
-      viewNodes.append( viewMaker.ViewNodeName )
+      viewNodes[ viewMaker.ViewNodeName ] = False
+    originalLength = len( viewNodes )
 
     # Identify the algorithms that will run in EventViews
     wholeEventAlgs, viewAlgs = findViewAlgs( topSequence.getChildren(), viewNodes )
 
+    # Check that all view nodes are found
+    if len( viewNodes ) != originalLength:
+        raise RuntimeError( "Something went wrong with view config inspection" )
+    for viewNode in viewNodes.keys():
+        if not viewNodes[ viewNode ]:
+            raise RuntimeError( "EventView CF node " + viewNode + " was not found attached to the topSequence" )
+
     # Look for view algs in the whole event context
     for viewAlgName in viewAlgs:
         if viewAlgName in wholeEventAlgs:
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/ViewCFTest.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/ViewCFTest.py
index abccb97255a7855310f6b94b1b32eb48d4668489..0dd4b6e87f93c197c896d0243fa15c33665b7425 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/ViewCFTest.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/ViewCFTest.py
@@ -19,9 +19,9 @@ class ViewCFTest( unittest.TestCase ):
         topSequence.makeViewSequence += viewTestAlg1
 
         # Return the algorithm assuming it's in a view, or not
-        self.assertEqual( findViewAlgs( topSequence.getChildren(), [] ),
+        self.assertEqual( findViewAlgs( topSequence.getChildren(), {} ),
                           ( [ "viewTestAlg1" ], [] ) )
-        self.assertEqual( findViewAlgs( topSequence.getChildren(), ["makeViewSequence"] ),
+        self.assertEqual( findViewAlgs( topSequence.getChildren(), {"makeViewSequence":False} ),
                           ( [], [ "viewTestAlg1" ] ) )
 
         # Add a nested sequence
@@ -29,9 +29,14 @@ class ViewCFTest( unittest.TestCase ):
         topSequence.makeViewSequence.nestedSequence += viewTestAlg2
 
         # Return the algorithms depending on where the view is entered
-        self.assertEqual( findViewAlgs( topSequence.getChildren(), [] ),
+        self.assertEqual( findViewAlgs( topSequence.getChildren(), {} ),
                           ( [ "viewTestAlg1", "viewTestAlg2" ], [] ) )
-        self.assertEqual( findViewAlgs( topSequence.getChildren(), ["makeViewSequence"] ),
+        self.assertEqual( findViewAlgs( topSequence.getChildren(), {"makeViewSequence":False} ),
                           ( [], [ "viewTestAlg1", "viewTestAlg2" ] ) )
-        self.assertEqual( findViewAlgs( topSequence.getChildren(), ["nestedSequence"] ),
+        self.assertEqual( findViewAlgs( topSequence.getChildren(), {"nestedSequence":False} ),
                           ( [ "viewTestAlg1" ], [ "viewTestAlg2" ] ) )
+
+        # Check that the test finds view nodes by name
+        viewNodeDict = {"makeViewSequence":False, "aFakeNode":False}
+        findViewAlgs( topSequence.getChildren(), viewNodeDict )
+        self.assertEqual( viewNodeDict, {"makeViewSequence":True, "aFakeNode":False} )