diff --git a/cpu/cpujit.py b/cpu/cpujit.py
index ea6bd819eaf3861e2d038808c92e7e248c59cd2f..8ec4e375617527d3d103e16f91e124cd56db8366 100644
--- a/cpu/cpujit.py
+++ b/cpu/cpujit.py
@@ -400,7 +400,11 @@ def buildCTypeArgumentList(parameterSpecification, argumentDict):
     arrayShapes = set()
     for arg in parameterSpecification:
         if arg.isFieldArgument:
-            field = argumentDict[arg.fieldName]
+            try:
+                field = argumentDict[arg.fieldName]
+            except KeyError:
+                raise KeyError("Missing field parameter for kernel call " + arg.fieldName)
+
             symbolicField = arg.field
             if arg.isFieldPtrArgument:
                 ctArguments.append(field.ctypes.data_as(ctypeFromString(arg.dtype)))
@@ -429,7 +433,10 @@ def buildCTypeArgumentList(parameterSpecification, argumentDict):
             else:
                 assert False
         else:
-            param = argumentDict[arg.name]
+            try:
+                param = argumentDict[arg.name]
+            except KeyError:
+                raise KeyError("Missing parameter for kernel call " + arg.name)
             expectedType = ctypeFromString(arg.dtype)
             ctArguments.append(expectedType(param))