diff --git a/chisel/api.py b/chisel/api.py
index <HASH>..<HASH> 100644
--- a/chisel/api.py
+++ b/chisel/api.py
@@ -222,7 +222,7 @@ class Application:
         # Send the response
         if jsonpFunction is not None:
             return self._httpResponse(start_response, actionContext, status, "application/json",
-                                      jsonpFunction, "(", jsonContent, ");")
+                                      str(jsonpFunction), "(", jsonContent, ");")
         else:
             return self._httpResponse(start_response, actionContext, status, "application/json",
                                       jsonContent)
diff --git a/chisel/test/test_api.py b/chisel/test/test_api.py
index <HASH>..<HASH> 100644
--- a/chisel/test/test_api.py
+++ b/chisel/test/test_api.py
@@ -67,6 +67,7 @@ class TestRequest(unittest.TestCase):
         # Make the WSGI call
         responseList = app(environ, start_response)
         assert isinstance(responseList, (list, tuple))
+        assert not [responsePart for responsePart in responseList if not isinstance(responsePart, str)]
         response = "".join(responseList)
         if decodeJSON:
             response = Struct(json.loads(response))
Ensure all WSGI response parts are str type