diff --git a/backupninja/client.sls b/backupninja/client.sls
index abcc70e..0c757c4 100644
--- a/backupninja/client.sls
+++ b/backupninja/client.sls
@@ -60,16 +60,6 @@
   - makedirs: true
   - user: root
 
-{%- set service_grains = {'backupninja': {'backup': {}}} %}
-{%- for service_name, service in pillar.items() %}
-{%- if service.get('_support', {}).get('backupninja', {}).get('enabled', False) %}
-{%- set grains_fragment_file = service_name+'/meta/backupninja.yml' %}
-{%- macro load_grains_file() %}{% include grains_fragment_file %}{% endmacro %}
-{%- set grains_yaml = load_grains_file()|load_yaml %}
-{%- set _dummy = service_grains.backupninja.backup.update(grains_yaml.backup) %}
-{%- endif %}
-{%- endfor %}
-
 backupninja_client_grain:
   file.managed:
   - name: /etc/salt/grains.d/backupninja
@@ -77,8 +67,6 @@
   - template: jinja
   - user: root
   - mode: 600
-  - defaults:
-    service_grains: {{ service_grains|yaml }}
   - require:
     - file: backupninja_client_grains_dir
 
@@ -104,20 +92,14 @@
   - require:
     - pkg: backupninja_packages
 
-{%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %}
-{%- if backup.fs_includes is defined %}
-backupninja_remote_handler_{{ backup_name }}:
+backupninja_remote_handler_{{ client.target.engine }}:
   file.managed:
-  - name: /etc/backup.d/200.{{ backup_name }}.{{ client.target.engine }}
+  - name: /etc/backup.d/200.backup.{{ client.target.engine }}
   - source: salt://backupninja/files/{{ client.target.engine }}.conf
   - template: jinja
   - mode: 600
-  - defaults:
-      backup: {{ backup }}
   - require:
     - pkg: backupninja_packages
-{%- endif %}
-{%- endfor %}
 
 {%- if client.target.auth.gss is defined %}
 backupninja_gss_helper_kinit:
diff --git a/backupninja/files/backupninja.grain b/backupninja/files/backupninja.grain
index 3e3b373..6345ff0 100644
--- a/backupninja/files/backupninja.grain
+++ b/backupninja/files/backupninja.grain
@@ -1 +1,2 @@
+{%- from "backupninja/map.jinja" import service_grains with context -%}
 {{ service_grains|yaml(False) }}
diff --git a/backupninja/files/dup.conf b/backupninja/files/dup.conf
index e57e9bf..dbc633d 100644
--- a/backupninja/files/dup.conf
+++ b/backupninja/files/dup.conf
@@ -1,5 +1,4 @@
-{%- from "backupninja/map.jinja" import client with context %}
-{%- from "linux/map.jinja" import system with context %}
+{%- from "backupninja/map.jinja" import client, service_grains with context -%}
 ## This is an example duplicity configuration file.
 ##
 ## Here you can find all the possible duplicity options, details of
@@ -110,10 +109,11 @@
 ##    taken into account.
 
 ## files to include in the backup
-
-{%- for fs_include in backup.fs_includes %}
+{%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %}
+{%- for fs_include in backup.get('fs_includes', []) %}
 include = {{ fs_include }}
 {%- endfor %}
+{%- endfor %}
 
 ## If vservers = yes in /etc/backupninja.conf then the following variables can
 ## be used:
@@ -131,9 +131,11 @@
 ## Vservers paths are derived from $VROOTDIR.
 
 # files to exclude from the backup
-{%- for fs_exclude in backup.fs_excludes %}
+{%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %}
+{%- for fs_exclude in backup.get('fs_excludes', []) %}
 exclude = {{ fs_exclude }}
 {%- endfor %}
+{%- endfor %}
 
 
 ######################################################
diff --git a/backupninja/files/rdiff.conf b/backupninja/files/rdiff.conf
index b2f4853..08fc92e 100644
--- a/backupninja/files/rdiff.conf
+++ b/backupninja/files/rdiff.conf
@@ -97,9 +97,11 @@
 ##    taken into account.
 
 ## files to include in the backup
-{%- for fs_include in backup.fs_includes %}
+{%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %}
+{%- for fs_include in backup.get('fs_includes', []) %}
 include = {{ fs_include }}
 {%- endfor %}
+{%- endfor %}
 
 ## If vservers = yes in /etc/backupninja.conf then the following variables can
 ## be used:
@@ -116,9 +118,11 @@
 ## and /vservers/baz/home.
 ## Vservers paths are derived from $VROOTDIR.
 
-{%- for fs_exclude in backup.fs_excludes %}
+{%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %}
+{%- for fs_exclude in backup.get('fs_excludes', []) %}
 exclude = {{ fs_exclude }}
 {%- endfor %}
+{%- endfor %}
 
 
 ######################################################
diff --git a/backupninja/files/rsync.conf b/backupninja/files/rsync.conf
index 3c4eb97..e5d8126 100644
--- a/backupninja/files/rsync.conf
+++ b/backupninja/files/rsync.conf
@@ -101,7 +101,9 @@
 # when "yes", test the connection for a remote source before backup
 #testconnect = no
 
-{%- for fs_include in backup.fs_includes %}
+{%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %}
+
+{%- for fs_include in backup.get('fs_includes', []) %}
 include = {{ fs_include }}
 {%- endfor %}
 
@@ -109,6 +111,8 @@
 exclude = {{ fs_exclude }}
 {%- endfor %}
 
+{%- endfor %}
+
 # exlude some vserver from backup
 # this is used only if vservers = yes on backupninja.conf
 #exclude_vserver = excluded_vserver1
@@ -195,7 +199,7 @@
 
 # remote rsync program (remote dest only)
 {%- if grains.os == 'Ubuntu' and grains.osrelease >= '14.04' %}
-remote_rsync = '{% for fs_include in backup.fs_includes %} mkdir -p /srv/backupninja/{{ network.fqdn }}{{ fs_include }} && {% endfor %} rsync'
+remote_rsync = '{% for backup_name, backup in service_grains.backupninja.backup.iteritems() %}{% for fs_include in backup.get('fs_includes', []) %}mkdir -p /srv/backupninja/{{ network.fqdn }}{{ fs_include }};{% endfor %}{% endfor %} rsync'
 {%- else %}
 #remote_rsync = rsync
 {%- endif %}
diff --git a/backupninja/map.jinja b/backupninja/map.jinja
index bab9434..d63dbe6 100644
--- a/backupninja/map.jinja
+++ b/backupninja/map.jinja
@@ -28,3 +28,13 @@
     'keys': [],
   },
 }, merge=salt['pillar.get']('backupninja:server')) %}
+
+{%- set service_grains = {'backupninja': {'backup': {}}} %}
+{%- for service_name, service in pillar.items() %}
+{%- if service.get('_support', {}).get('backupninja', {}).get('enabled', False) %}
+{%- set grains_fragment_file = service_name+'/meta/backupninja.yml' %}
+{%- macro load_grains_file() %}{% include grains_fragment_file %}{% endmacro %}
+{%- set grains_yaml = load_grains_file()|load_yaml %}
+{%- set _dummy = service_grains.backupninja.backup.update(grains_yaml.backup) %}
+{%- endif %}
+{%- endfor %}
