diff --git a/src/las.c b/src/las.c
index e999b84833d3ac54ea8578bc5255323615eb75a3..9a0912e000cfe45db2fee5a31c7fa82b8a81eb02 100644
--- a/src/las.c
+++ b/src/las.c
@@ -961,6 +961,12 @@ void fix_type_field(node *n)
     }
     break;
 
+  case F_ASSIGN:
+    if(CAR(n) && CDR(n) && 
+       !match_types(CDR(n)->type,CAR(n)->type))
+      my_yyerror("Bad type in assignment.\n");
+    break;
+
   case F_INDEX:
     type_a=CAR(n)->type;
     type_b=CDR(n)->type;