diff --git a/gdb-port/ast.py b/gdb-port/ast.py
index f661cf69ab43fdbdec639b370d6a9246205e8d12..ea9ccf44b88e581665ee83992cf5f62492345cce 100644
--- a/gdb-port/ast.py
+++ b/gdb-port/ast.py
@@ -4,6 +4,8 @@ class HParseResult:
 	def __init__(self, address):
 		# Note to self: Address has to be an integer and not string
 		# Otherwise all hell breaks loose
+		if address == 0:
+			raise ValueError("Nullpointer given as address of HParseResult")
 		self.address = address
 		# Mostly for convenience
 		self.has_ast = self.read_AST_not_null()
@@ -71,6 +73,8 @@ class HParsedToken:
 		# The former will allocate an char[] and cast it to a HParsedToken* when reading members
 		if isinstance(address, str):
 			print("Warning: Address % given to HParsedToken is a string. This is probably an error (expecting int or gdb.Value)" % address)
+		if address == 0:
+			raise ValueError("Nullpointer given as address of HParsedToken")
 		self.address = address
 		# Unused for now
 		self.parent = parent