diff --git a/_modules/helm.py b/_modules/helm.py
index e140087..76f2bb1 100644
--- a/_modules/helm.py
+++ b/_modules/helm.py
@@ -22,12 +22,13 @@
     }
 
 
-def release_exists(name, namespace):
+def release_exists(name, namespace='default'):
     cmd = _helm_cmd('list', '--short', '--all', '--namespace', namespace, name)
     return __salt__['cmd.run_stdout'](**cmd) == name
 
 
-def release_create(name, namespace, chart_name, version=None, values=None):
+def release_create(name, chart_name, namespace='default',
+                   version=None, values=None):
     args = []
     if version is not None:
         args += ['--version', version]
@@ -46,7 +47,8 @@
     return ok_or_output(cmd, 'Failed to delete release "{}"'.format(name))
 
 
-def release_upgrade(name, namespace, chart_name, version=None, values=None):
+def release_upgrade(name, chart_name, namespace='default',
+                    version=None, values=None):
     args = []
     if version is not None:
         args += ['--version', version]
diff --git a/_states/helm_release.py b/_states/helm_release.py
index 2177bcd..f20c301 100644
--- a/_states/helm_release.py
+++ b/_states/helm_release.py
@@ -17,7 +17,7 @@
     exists =  __salt__['helm.release_exists'](name, namespace)
     if not exists:
         err = __salt__['helm.release_create'](
-            name, namespace, chart_name, version, values)
+            name, chart_name, namespace, version, values)
         if err:
             return failure(name, err)
         return {
@@ -29,7 +29,7 @@
 
     old_values = __salt__['helm.get_values'](name)
     err = __salt__['helm.release_upgrade'](
-        name, namespace, chart_name, version, values)
+        name, chart_name, namespace, version, values)
     if err:
         return failure(name, err)
 
