diff --git a/ExprPrimaryNodes.py b/ExprPrimaryNodes.py
index b13252af1ff850e84da36eec22afde51d59996a0..0dad3ee21760dd115507852caf69091e6d74acb5 100644
--- a/ExprPrimaryNodes.py
+++ b/ExprPrimaryNodes.py
@@ -236,7 +236,11 @@ class ExprNode(ASTNode):
             elif self.op in ['+', '-', '*', '/']:
                 self.myType = TypeStruct("int")
                 return
-        #
+        # Boolean operations:
+        elif self.left.myType.name == 'boolean' and self.right.myType.name == 'boolean':
+            if self.op in ['&&', '&', '|', '||']:
+                self.myType = TypeStruct("boolean")
+                return
         # Other Comparisons:
         elif self.left.myType.assignable(self.right.myType) or self.right.myType.assignable(self.left.myType):
             if self.op == '==' or self.op == '!=':