diff --git a/vyper/context/namespace.py b/vyper/context/namespace.py
index <HASH>..<HASH> 100644
--- a/vyper/context/namespace.py
+++ b/vyper/context/namespace.py
@@ -31,6 +31,8 @@ class Namespace(dict):
 
     def __setitem__(self, attr, obj):
         if attr in self:
+            if attr not in [x for i in self._scopes for x in i]:
+                raise NamespaceCollision(f"Cannot assign to '{attr}', it is a builtin")
             obj = super().__getitem__(attr)
             raise NamespaceCollision(f"'{attr}' has already been declared as a {obj}")
 
diff --git a/vyper/exceptions.py b/vyper/exceptions.py
index <HASH>..<HASH> 100644
--- a/vyper/exceptions.py
+++ b/vyper/exceptions.py
@@ -120,7 +120,6 @@ class SyntaxException(VyperException):
         item.lineno = lineno
         item.col_offset = col_offset
         item.full_source_code = source_code
-        print("got this far")
         super().__init__(message, item)
fix: improve exception message when attempting to assign to a builtin