diff --git a/lib/expression/expression.js b/lib/expression/expression.js
index <HASH>..<HASH> 100644
--- a/lib/expression/expression.js
+++ b/lib/expression/expression.js
@@ -501,7 +501,7 @@ Expression.setMethod(function getTokenValuesArray(tokens, vars) {
  *
  * @author   Jelle De Loecker   <jelle@develry.be>
  * @since    1.3.3
- * @version  1.3.3
+ * @version  2.0.0
  *
  * @param    {Array}   path
  * @param    {Array}   args
@@ -538,7 +538,7 @@ Expression.setMethod(function callPathWithArgs(path, args, vars) {
 	}
 
 	if (!context || !fnc) {
-		throw new Error('Unable to call path "' + path.join('.') + '"');
+		return undefined;
 	}
 
 	args = this.getTokenValuesArray(args, vars);
diff --git a/test/10-expressions.js b/test/10-expressions.js
index <HASH>..<HASH> 100644
--- a/test/10-expressions.js
+++ b/test/10-expressions.js
@@ -276,6 +276,15 @@ describe('Expressions', function() {
 
 		createTests(tests);
 	});
+
+	describe('None existing method calls', function() {
+
+		var tests = [
+			[`{%= empty_arr.does_not_exist() or 'nope' %}`, 'nope'],
+		];
+
+		createTests(tests);
+	});
 });
 
 function createTests(tests) {
Calling a non-existant method in a hawkejs expression will not throw an error but return undefined