diff --git a/synapse/gene.py b/synapse/gene.py
index <HASH>..<HASH> 100644
--- a/synapse/gene.py
+++ b/synapse/gene.py
@@ -169,7 +169,7 @@ class VarNode(GeneNode):
         valu = syms.get(name, undefined)
         if valu is undefined:
             raise s_exc.NoSuchName(name=name)
-        return valu
+        return syms.get(name)
 
 class CallNode(GeneNode):
     def _eval(self, syms):
diff --git a/synapse/lib/scope.py b/synapse/lib/scope.py
index <HASH>..<HASH> 100644
--- a/synapse/lib/scope.py
+++ b/synapse/lib/scope.py
@@ -77,6 +77,15 @@ class Scope:
 
         return defval
 
+    def __contains__(self, name):
+        '''
+        Test for the existence of given name in the scope.
+        '''
+        for frame in self.frames:
+            if name in frame:
+                return True
+        return False
+
     def add(self, name, *vals):
         '''
         Add values as iter() compatible items in the current scope frame.
First attempt at fixing assigning a value to null in a scope