diff --git a/server/lib/arrow/evaluate.js b/server/lib/arrow/evaluate.js
index 36d035e..278a499 100644
--- a/server/lib/arrow/evaluate.js
+++ b/server/lib/arrow/evaluate.js
@@ -14,6 +14,7 @@
 'use strict';
 
 const isEmpty = require('./utils').isEmpty;
+const logging = require('../../lib/logging');
 
 function evaluateString(expression) {
   return { type: 'string', value: expression.value };
@@ -22,9 +23,10 @@ function evaluateString(expression) {
 function evaluateLookup(expression, context) {
   let value = context;
   for (let i = 0; i < expression.path.length; i++) {
-    if (expression.path[i] in value) {
+    if (value !== undefined && value !== null && expression.path[i] in value) {
       value = value[expression.path[i]];
     } else {
+      logging.debug("Unable to find value for " + expression.path[i] + " in context " + context);
       value = undefined;
       break;
     }