diff --git a/src/DynareMain.cc b/src/DynareMain.cc
index 23fea237f660ff9d926beb70e6a3a5e62bd9b956..f2d6182bb56e6c66d2b52324a5990ba595cd5b83 100644
--- a/src/DynareMain.cc
+++ b/src/DynareMain.cc
@@ -290,7 +290,7 @@ main(int argc, char **argv)
               equal_index != string::npos)
             defines.emplace_back(s.substr(2, equal_index-2), s.substr(equal_index+1));
           else
-            defines.emplace_back(s.substr(2), "1");
+            defines.emplace_back(s.substr(2), "true");
         }
       else if (s.substr(0, 2) == "-I")
         {
diff --git a/src/macro/Parser.yy b/src/macro/Parser.yy
index be7cc71ec1e1d8d593a78318af77ee9da8fbc4c7..7370324e6c6feba59981f97cf85b53aa2f739ec5 100644
--- a/src/macro/Parser.yy
+++ b/src/macro/Parser.yy
@@ -135,10 +135,7 @@ directive_one_line : INCLUDE expr
                    | INCLUDEPATH expr
                      { $$ = make_shared<IncludePath>($2, @$); }
                    | DEFINE symbol
-                     {
-                       auto tmp = make_shared<Real>("1", @$);
-                       $$ = make_shared<Define>($2, tmp, @$);
-                     }
+                     { $$ = make_shared<Define>($2, make_shared<Bool>(true, @$), @$); }
                    | DEFINE symbol EQUAL expr
                      { $$ = make_shared<Define>($2, $4, @$); }
                    | DEFINE function EQUAL expr