diff --git a/roles/kubernetes-apps/helm/defaults/main.yml b/roles/kubernetes-apps/helm/defaults/main.yml
index 5c6396b57ba7af66c2b7f3751bc389c0395841a3..1042b985c1285d8b006617ac2785962bc562e1b8 100644
--- a/roles/kubernetes-apps/helm/defaults/main.yml
+++ b/roles/kubernetes-apps/helm/defaults/main.yml
@@ -7,6 +7,9 @@ helm_home_dir: "/root/.helm"
 # Deployment mode: host or docker
 helm_deployment_type: host
 
+# Wait until Tiller is running and ready to receive requests
+tiller_wait: false
+
 # Do not download the local repository cache on helm init
 helm_skip_refresh: false
 
diff --git a/roles/kubernetes-apps/helm/tasks/main.yml b/roles/kubernetes-apps/helm/tasks/main.yml
index 40476b0bf3061095d99f745402787b61f1f4249c..6023bf90a2c3c8b886aa5fa95b20de681cd60489 100644
--- a/roles/kubernetes-apps/helm/tasks/main.yml
+++ b/roles/kubernetes-apps/helm/tasks/main.yml
@@ -50,6 +50,7 @@
     {% if tiller_max_history is defined %} --history-max={{ tiller_max_history }}{% endif %}
     {% if tiller_enable_tls %} --tiller-tls --tiller-tls-verify --tiller-tls-cert={{ tiller_tls_cert }} --tiller-tls-key={{ tiller_tls_key }} --tls-ca-cert={{ tiller_tls_ca_cert }} {% endif %}
     {% if tiller_secure_release_info %} --override 'spec.template.spec.containers[0].command'='{/tiller,--storage=secret}' {% endif %}
+    {% if tiller_wait %} --wait{% endif %}
     {% else %}
     --client-only
     {% endif %}
@@ -70,6 +71,7 @@
     {% if tiller_max_history is defined %} --history-max={{ tiller_max_history }}{% endif %}
     {% if tiller_enable_tls %} --tiller-tls --tiller-tls-verify --tiller-tls-cert={{ tiller_tls_cert }} --tiller-tls-key={{ tiller_tls_key }} --tls-ca-cert={{ tiller_tls_ca_cert }} {% endif %}
     {% if tiller_secure_release_info %} --override 'spec.template.spec.containers[0].command'='{/tiller,--storage=secret}' {% endif %}
+    {% if tiller_wait %} --wait{% endif %}
     --output yaml
     | {{bin_dir}}/kubectl apply -f -
   changed_when: false