diff --git a/lab-pipeline.groovy b/lab-pipeline.groovy
index 11ddc84..c062fac 100644
--- a/lab-pipeline.groovy
+++ b/lab-pipeline.groovy
@@ -168,21 +168,21 @@
                     }
                     // Overwrite Calico vars if specified
                     if (env.getEnvironment().containsKey("CALICO_CNI_IMAGE")) {
-                      salt.runSaltProcessStep(saltmaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_calico_cni_image: ${CALICO_CNI_IMAGE}")
+                      salt.runSaltProcessStep(saltMaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_calico_cni_image: ${CALICO_CNI_IMAGE}")
                     }
                     if (env.getEnvironment().containsKey("CALICO_NODE_IMAGE")) {
-                      salt.runSaltProcessStep(saltmaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_calico_node_image: ${CALICO_NODE_IMAGE}")
+                      salt.runSaltProcessStep(saltMaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_calico_node_image: ${CALICO_NODE_IMAGE}")
                     }
                     if (env.getEnvironment().containsKey("CALICOCTL_IMAGE")) {
-                      salt.runSaltProcessStep(saltmaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_calicoctl_image: ${CALICOCTL_IMAGE}")
+                      salt.runSaltProcessStep(saltMaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_calicoctl_image: ${CALICOCTL_IMAGE}")
                     }
 
                     // Overwrite netchecker vars if specified
                     if (env.getEnvironment().containsKey("NETCHECKER_AGENT_IMAGE")) {
-                      salt.runSaltProcessStep(saltmaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_netchecker_agent_image: ${NETCHECKER_AGENT_IMAGE}")
+                      salt.runSaltProcessStep(saltMaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_netchecker_agent_image: ${NETCHECKER_AGENT_IMAGE}")
                     }
                     if (env.getEnvironment().containsKey("NETCHECKER_SERVER_IMAGE")) {
-                      salt.runSaltProcessStep(saltmaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_netchecker_server_image: ${NETCHECKER_SERVER_IMAGE}")
+                      salt.runSaltProcessStep(saltMaster, 'I@salt:master', 'file.append', overwriteFile, "    kubernetes_netchecker_server_image: ${NETCHECKER_SERVER_IMAGE}")
                     }
 
 
