diff --git a/src/language/ast/ASTNodeDataTypeBuilder.cpp b/src/language/ast/ASTNodeDataTypeBuilder.cpp
index 7cbeb6adfdc96f8c2a56796c32c83592f0839d40..a71df9a3d662ee01d95e40366faeaadc081ea561 100644
--- a/src/language/ast/ASTNodeDataTypeBuilder.cpp
+++ b/src/language/ast/ASTNodeDataTypeBuilder.cpp
@@ -282,7 +282,7 @@ ASTNodeDataTypeBuilder::_buildNodeDataTypes(ASTNode& n) const
     } else if (n.is_type<language::eq_op>() or n.is_type<language::multiplyeq_op>() or
                n.is_type<language::divideeq_op>() or n.is_type<language::pluseq_op>() or
                n.is_type<language::minuseq_op>()) {
-      n.m_data_type = n.children[0]->m_data_type;
+      n.m_data_type = ASTNodeDataType::build<ASTNodeDataType::void_t>();
 
     } else if (n.is_type<language::tuple_expression>()) {
       std::vector<std::shared_ptr<const ASTNodeDataType>> sub_data_type_list;
diff --git a/tests/test_ASTNodeDataTypeBuilder.cpp b/tests/test_ASTNodeDataTypeBuilder.cpp
index dd206297d82c52bbbf7dda7e304d6b3966524d4f..6c37b1afe9a7c411e2c1643ac1bd1e3cb1a72aeb 100644
--- a/tests/test_ASTNodeDataTypeBuilder.cpp
+++ b/tests/test_ASTNodeDataTypeBuilder.cpp
@@ -894,7 +894,7 @@ x = f(x);
  |   `-(language::expression_list:list(Z*Z))
  |       +-(language::integer:1:Z)
  |       `-(language::integer:2:Z)
- `-(language::eq_op:R^2)
+ `-(language::eq_op:void)
      +-(language::name:x:R^2)
      `-(language::function_evaluation:R^2)
          +-(language::name:f:function)
@@ -1285,7 +1285,7 @@ a = 1;
  +-(language::var_declaration:void)
  |   +-(language::name:a:N)
  |   `-(language::N_set:typename(N))
- `-(language::eq_op:N)
+ `-(language::eq_op:void)
      +-(language::name:a:N)
      `-(language::integer:1:Z)
 )";
@@ -1307,7 +1307,7 @@ a *= 1.2;
  |   +-(language::N_set:typename(N))
  |   +-(language::name:a:N)
  |   `-(language::integer:1:Z)
- `-(language::multiplyeq_op:N)
+ `-(language::multiplyeq_op:void)
      +-(language::name:a:N)
      `-(language::real:1.2:R)
 )";
@@ -1329,7 +1329,7 @@ a /= 2;
  |   +-(language::R_set:typename(R))
  |   +-(language::name:a:R)
  |   `-(language::integer:3:Z)
- `-(language::divideeq_op:R)
+ `-(language::divideeq_op:void)
      +-(language::name:a:R)
      `-(language::integer:2:Z)
 )";
@@ -1351,7 +1351,7 @@ a += 2;
  |   +-(language::Z_set:typename(Z))
  |   +-(language::name:a:Z)
  |   `-(language::integer:3:Z)
- `-(language::pluseq_op:Z)
+ `-(language::pluseq_op:void)
      +-(language::name:a:Z)
      `-(language::integer:2:Z)
 )";
@@ -1373,7 +1373,7 @@ a -= 2;
  |   +-(language::Z_set:typename(Z))
  |   +-(language::name:a:Z)
  |   `-(language::integer:1:Z)
- `-(language::minuseq_op:Z)
+ `-(language::minuseq_op:void)
      +-(language::name:a:Z)
      `-(language::integer:2:Z)
 )";
@@ -1416,10 +1416,10 @@ for (let i:Z, i=0; i<3; i += 1) { i += 2; }
      +-(language::lesser_op:B)
      |   +-(language::name:i:Z)
      |   `-(language::integer:3:Z)
-     +-(language::pluseq_op:Z)
+     +-(language::pluseq_op:void)
      |   +-(language::name:i:Z)
      |   `-(language::integer:1:Z)
-     `-(language::pluseq_op:Z)
+     `-(language::pluseq_op:void)
          +-(language::name:i:Z)
          `-(language::integer:2:Z)
 )";