diff --git a/deploy/chart/local-path-provisioner/templates/_helpers.tpl b/deploy/chart/local-path-provisioner/templates/_helpers.tpl
index 40c0fa5de60f13d989e0c2e8d25a076d611d9db4..cc8429e1794f4956bb786277b1bc5c5f53fce356 100644
--- a/deploy/chart/local-path-provisioner/templates/_helpers.tpl
+++ b/deploy/chart/local-path-provisioner/templates/_helpers.tpl
@@ -31,6 +31,14 @@ Create chart name and version as used by the chart label.
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "local-path-provisioner.namespace" -}}
+{{- if .Values.namespaceOverride }}
+{{- .Values.namespaceOverride }}
+{{- else }}
+{{- .Release.Namespace }}
+{{- end }}
+{{- end -}}
+
 {{/*
 Common labels
 */}}
diff --git a/deploy/chart/local-path-provisioner/templates/configmap.yaml b/deploy/chart/local-path-provisioner/templates/configmap.yaml
index 91a531905d5334ac9c019a436816a1262a0671b1..01a5fa66739ac15e6e46aeab9c0761bdb43ef484 100644
--- a/deploy/chart/local-path-provisioner/templates/configmap.yaml
+++ b/deploy/chart/local-path-provisioner/templates/configmap.yaml
@@ -2,7 +2,7 @@ apiVersion: v1
 kind: ConfigMap
 metadata:
   name: {{ .Values.configmap.name }}
-  namespace: {{ .Release.Namespace }}
+  namespace: {{ include "local-path-provisioner.namespace" . }}
   labels:
 {{ include "local-path-provisioner.labels" . | indent 4 }}
 data:
@@ -38,7 +38,7 @@ data:
     kind: Pod
     metadata:
       name: {{ .Values.configmap.helperPod.name }}
-      namespace: {{ default .Release.Namespace .Values.configmap.helperPod.namespaceOverride }}
+      namespace: {{ default (include "local-path-provisioner.namespace" .) .Values.configmap.helperPod.namespaceOverride }}
       {{- with .Values.configmap.helperPod.annotations }}
       annotations:
         {{- toYaml . | nindent 8 }}
@@ -59,4 +59,3 @@ data:
           imagePullPolicy: {{ .Values.image.pullPolicy }}
           resources:
             {{- toYaml .Values.helperPod.resources | nindent 12 }}
-
diff --git a/deploy/chart/local-path-provisioner/templates/deployment.yaml b/deploy/chart/local-path-provisioner/templates/deployment.yaml
index af07077c6f5c608c167bbcdc4bc275ad612b41a9..d751aedeb54d4454b335c1d5c5fed067df458e4e 100644
--- a/deploy/chart/local-path-provisioner/templates/deployment.yaml
+++ b/deploy/chart/local-path-provisioner/templates/deployment.yaml
@@ -2,7 +2,7 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: {{ include "local-path-provisioner.fullname" . }}
-  namespace: {{ .Release.Namespace }}
+  namespace: {{ include "local-path-provisioner.namespace" . }}
   labels:
 {{ include "local-path-provisioner.labels" . | indent 4 }}
 spec:
@@ -72,7 +72,7 @@ spec:
               mountPath: /etc/config/
           env:
             - name: POD_NAMESPACE
-              value: {{ .Release.Namespace }}
+              value: {{ include "local-path-provisioner.namespace" . }}
             - name: CONFIG_MOUNT_PATH
               value: /etc/config/
           resources:
diff --git a/deploy/chart/local-path-provisioner/templates/registry-secret.yaml b/deploy/chart/local-path-provisioner/templates/registry-secret.yaml
index 9b000fef6b365df4dcf972a99d4fbce65b8a93f1..cb1c5364fc3b6ac0c39dd1f0d5272a898a774240 100644
--- a/deploy/chart/local-path-provisioner/templates/registry-secret.yaml
+++ b/deploy/chart/local-path-provisioner/templates/registry-secret.yaml
@@ -3,7 +3,7 @@ apiVersion: v1
 kind: Secret
 metadata:
   name: {{ .Values.defaultSettings.registrySecret }}
-  namespace: {{ .Release.Namespace }}
+  namespace: {{ include "local-path-provisioner.namespace" . }}
 type: kubernetes.io/dockerconfigjson
 data:
   .dockerconfigjson: {{ template "local-path-provisioner.secret" . }}
diff --git a/deploy/chart/local-path-provisioner/templates/role.yaml b/deploy/chart/local-path-provisioner/templates/role.yaml
index ec6c2e5127d82c0281608e8f5552a4c82fae4a05..887f8d24144da62c97afb1e05081a374df564b03 100644
--- a/deploy/chart/local-path-provisioner/templates/role.yaml
+++ b/deploy/chart/local-path-provisioner/templates/role.yaml
@@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1
 kind: Role
 metadata:
   name: {{ include "local-path-provisioner.fullname" . }}
-  namespace: {{ .Release.Namespace }}
+  namespace: {{ include "local-path-provisioner.namespace" . }}
   labels:
 {{ include "local-path-provisioner.labels" . | indent 4 }}
 rules:
diff --git a/deploy/chart/local-path-provisioner/templates/rolebinding.yaml b/deploy/chart/local-path-provisioner/templates/rolebinding.yaml
index 53295c31ae6ef3eda4130a4c140163fdf025832a..2f244e5ccf545c429f328d259b49c34340487b5c 100644
--- a/deploy/chart/local-path-provisioner/templates/rolebinding.yaml
+++ b/deploy/chart/local-path-provisioner/templates/rolebinding.yaml
@@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1
 kind: RoleBinding
 metadata:
   name: {{ include "local-path-provisioner.fullname" . }}
-  namespace: {{ .Release.Namespace }}
+  namespace: {{ include "local-path-provisioner.namespace" . }}
   labels:
 {{ include "local-path-provisioner.labels" . | indent 4 }}
 roleRef:
@@ -13,5 +13,5 @@ roleRef:
 subjects:
   - kind: ServiceAccount
     name: {{ template "local-path-provisioner.serviceAccountName" . }}
-    namespace: {{ .Release.Namespace }}
+    namespace: {{ include "local-path-provisioner.namespace" . }}
 {{- end -}}
diff --git a/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml b/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml
index ed5ac16e7d9a9bb2a191dba5c7c0377cc6d3a81e..b0d6e924a18cf6c46cb046867a557736076012a8 100644
--- a/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml
+++ b/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml
@@ -3,7 +3,7 @@ apiVersion: v1
 kind: ServiceAccount
 metadata:
   name: {{ template "local-path-provisioner.serviceAccountName" . }}
-  namespace: {{ .Release.Namespace }}
+  namespace: {{ include "local-path-provisioner.namespace" . }}
   labels:
 {{ include "local-path-provisioner.labels" . | indent 4 }}
 imagePullSecrets:
diff --git a/deploy/chart/local-path-provisioner/values.yaml b/deploy/chart/local-path-provisioner/values.yaml
index d0741d6482eed7e7bb31b97b294a325b64a8652d..cf3403d54acd5b3d37ef7d89dbb6311473c8a22c 100644
--- a/deploy/chart/local-path-provisioner/values.yaml
+++ b/deploy/chart/local-path-provisioner/values.yaml
@@ -2,6 +2,7 @@
 
 replicaCount: 1
 commonLabels: {}
+namespace: local-path-provisioner
 
 image:
   repository: rancher/local-path-provisioner
@@ -162,7 +163,6 @@ configmap:
     namespaceOverride: ""
     name: "helper-pod"
     annotations: {}
-
 # Number of provisioner worker threads to call provision/delete simultaneously.
 # workerThreads: 4