diff --git a/keystone/meta/salt.yml b/keystone/meta/salt.yml
index 0be0720..b00f02c 100644
--- a/keystone/meta/salt.yml
+++ b/keystone/meta/salt.yml
@@ -11,35 +11,34 @@
   {%- if pillar.keystone.server is defined or pillar.keystone.client is defined %}
   keystone:
     {%- if pillar.keystone.get('server', {'enabled': False}).enabled %}
-    {%- from "keystone/map.jinja" import server with context %}
+      {%- from "keystone/map.jinja" import server with context %}
     keystone.token: '{{ server.service_token }}'
     keystone.endpoint: 'http://{{ server.bind.address }}:{{ server.bind.private_port }}/v2.0'
     {%- else %}
-    {%- from "keystone/map.jinja" import client with context %}
+      {%- from "keystone/map.jinja" import client with context %}
+      {%- if client.server.user is defined %}
     keystone.user: '{{ client.server.user }}'
     keystone.password: '{{ client.server.password }}'
     keystone.tenant: '{{ client.server.tenant }}'
     keystone.auth_url: 'http://{{ client.server.host }}:{{ client.server.public_port }}/v2.0/'
-    {%- endif %}
+      {%- else %}
 
-  # Profile based metadata
-  {%- from "keystone/map.jinja" import client with context %}
-  {%- for profile_name, identity in client.server.iteritems() %}
+        {#- Profile based metadata #}
+        {%- for profile_name, identity in client.server.iteritems() %}
+          {%- if identity.admin.get('protocol', 'http') == 'http' %}
+            {%- set protocol = 'http' %}
+          {%- else %}
+            {%- set protocol = 'https' %}
+          {%- endif %}
 
-  {%- if identity.admin.get('protocol', 'http') == 'http' %}
-  {%- set protocol = 'http' %}
-  {%- else %}
-  {%- set protocol = 'https' %}
-  {%- endif %}
+          {%- if identity.admin.get('api_version', '2') == '3' %}
+            {%- set version = "v3" %}
+          {%- else %}
+            {%- set version = "v2.0" %}
+          {%- endif %}
 
-  {%- if identity.admin.get('api_version', '2') == '3' %}
-  {%- set version = "v3" %}
-  {%- else %}
-  {%- set version = "v2.0" %}
-  {%- endif %}
-
-  {%- if identity.admin.user is defined %}
-  {%- if identity.admin.token is not defined %}
+          {%- if identity.admin.user is defined %}
+            {%- if identity.admin.token is not defined %}
 
     {{ profile_name }}:
       keystone.user: '{{ identity.admin.user }}'
@@ -48,10 +47,11 @@
       keystone.auth_url: '{{ protocol+'://'+identity.admin.host+':'+identity.admin.port|string+'/'+version }}'
       keystone.region_name: '{{ identity.admin.region_name }}'
 
-  {%- endif %}
-  {%- endif %}
-  {%- endfor %}
-
+            {%- endif %}
+          {%- endif %}
+        {%- endfor %}
+      {%- endif %}
+    {%- endif %}
   {%- endif %}
 
 {#-
