diff --git a/_modules/jenkins_common.py b/_modules/jenkins_common.py
index 225042f..64cede6 100644
--- a/_modules/jenkins_common.py
+++ b/_modules/jenkins_common.py
@@ -62,7 +62,7 @@
     if not jenkins_url:
         raise SaltInvocationError('No Jenkins URL found.')
 
-    token_obj = get_api_crumb(jenkins_url, jenkins_user, jenkins_password)
+    token_obj, req_cookies = get_api_crumb(jenkins_url, jenkins_user, jenkins_password)
     req_data = {"script": render_groovy_script(script, props)}
     if token_obj:
         req_data[token_obj["crumbRequestField"]] = token_obj["crumb"]
@@ -70,7 +70,7 @@
     logger.debug("Calling Jenkins script API with URL: %s", jenkins_url)
     req = requests.post('%s/scriptText' % jenkins_url,
                         auth=(jenkins_user, jenkins_password) if jenkins_user else None,
-                        data=req_data)
+                        data=req_data, cookies=req_cookies)
     ret["code"] = req.status_code
     ret["msg"] = req.text
     if req.status_code in success_status_codes:
@@ -112,14 +112,14 @@
                             auth=(jenkins_user, jenkins_password) if jenkins_user else None)
     if tokenReq.status_code == 200:
         logger.debug("Got Jenkins API crumb: %s", tokenReq.json())
-        return tokenReq.json()
+        return tokenReq.json(), tokenReq.cookies
     elif tokenReq.status_code in [404, 401, 502, 503]:
         # 404 means CSRF security is disabled, so api crumb is not necessary,
         # 401 means unauthorized
         # 50x means jenkins is unavailabe - fail in call_groovy_script, but
         #     not here, to handle exception in state
         logger.debug("Got error %s: %s", str(tokenReq.status_code), tokenReq.reason)
-        return None
+        return None, None
     else:
         raise Exception("Cannot obtain Jenkins API crumb. Status code: %s. Text: %s" %
                         (tokenReq.status_code, tokenReq.text))
