diff --git a/src/Psalm/Checker/Statements/Expression/AssignmentChecker.php b/src/Psalm/Checker/Statements/Expression/AssignmentChecker.php
index <HASH>..<HASH> 100644
--- a/src/Psalm/Checker/Statements/Expression/AssignmentChecker.php
+++ b/src/Psalm/Checker/Statements/Expression/AssignmentChecker.php
@@ -404,6 +404,10 @@ class AssignmentChecker
             )) {
                 return false;
             }
+
+            $context->vars_in_scope[$var_id] = Type::getMixed();
+
+            return Type::getMixed();
         }
 
         return $assign_value_type;
Void return types shouldn’t magically become null ones