diff --git a/src/macro/Expressions.cc b/src/macro/Expressions.cc
index 59b4ca8534cd2d505136e677ddab405751c0bb4b..5fd216e42edb07a1185b4945690d4108983cf5df 100644
--- a/src/macro/Expressions.cc
+++ b/src/macro/Expressions.cc
@@ -294,10 +294,10 @@ String::cast_bool() const
 {
   auto f = [](const char& a, const char& b) { return (tolower(a) == tolower(b)); };
 
-  if (string tf = "true"; equal(value.begin(), value.end(), tf.begin(), f))
+  if (string tf = "true"; equal(value.begin(), value.end(), tf.begin(), tf.end(), f))
     return make_shared<Bool>(true, env);
 
-  if (string tf = "false"; equal(value.begin(), value.end(), tf.begin(), f))
+  if (string tf = "false"; equal(value.begin(), value.end(), tf.begin(), tf.end(), f))
     return make_shared<Bool>(false, env);
 
   try