diff --git a/_states/helm_release.py b/_states/helm_release.py
index 1004afb..b3b4fac 100644
--- a/_states/helm_release.py
+++ b/_states/helm_release.py
@@ -13,11 +13,11 @@
     }
 
 
-def present(name, chart_name, version=None, values=None):
-    exists =  __salt__['helm.release_exists'](name)
+def present(name, chart_name, namespace, version=None, values=None):
+    exists =  __salt__['helm.release_exists'](name, namespace)
     if not exists:
         result = __salt__['helm.release_create'](
-            name, chart_name, version, values)
+            name, namespace, chart_name, version, values)
         if not result:
             return failure(name, 'Failed to create release "{}"'.format(name))
         return {
@@ -29,7 +29,7 @@
 
     old_values = __salt__['helm.get_values'](name)
     result = __salt__['helm.release_upgrade'](
-        name, chart_name, version, values)
+        name, namespace, chart_name, version, values)
     if not result:
         return failure(name, 'Failed to create release "{}"'.format(name))
 
@@ -54,8 +54,8 @@
     }
 
 
-def absent(name):
-    exists =  __salt__['helm.release_exists'](name)
+def absent(name, namespace):
+    exists =  __salt__['helm.release_exists'](name, namespace)
     if not exists:
         return {
             'name': name,
