diff --git a/collectd/client.sls b/collectd/client.sls
index a5b2128..f092dcc 100644
--- a/collectd/client.sls
+++ b/collectd/client.sls
@@ -94,7 +94,7 @@
 
 {%- for plugin_name, plugin in service_grains.collectd.local_plugin.iteritems() %}
 
-{%- if (plugin.get('execution', 'local') == 'local' or client.remote_collector) and plugin.get('plugin', 'native') not in ['python'] %}
+{%- plugin.get('plugin', 'native') not in ['python'] %}
 
 {{ client.config_dir }}/{{ plugin_name }}.conf:
   file.managed:
@@ -119,6 +119,37 @@
 
 {%- endfor %}
 
+{%- if client.remote_collector %}
+
+{%- for plugin_name, plugin in service_grains.collectd.local_plugin.iteritems() %}
+
+{%- plugin.get('plugin', 'native') not in ['python'] %}
+
+{{ client.config_dir }}/{{ plugin_name }}.conf:
+  file.managed:
+  {%- if plugin.template is defined %}
+  - source: salt://{{ plugin.template }}
+  - template: jinja
+  - defaults:
+    plugin: {{ plugin|yaml }}
+  {%- else %}
+  - contents: "<LoadPlugin {{ plugin.plugin }}>\n  Globals false\n</LoadPlugin>\n"
+  {%- endif %}
+  - user: root
+  - mode: 660
+  - require:
+    - file: collectd_client_conf_dir
+  - require_in:
+    - file: collectd_client_conf_dir_clean
+  - watch_in:
+    - service: collectd_service
+
+{%- endif %}
+
+{%- endfor %}
+
+{%- endif %}
+
 {%- if client.file_logging %}
 
 /etc/collectd/conf.d/00_collectd_logfile.conf:
diff --git a/collectd/files/collectd.conf b/collectd/files/collectd.conf
index fc48a19..6e2394e 100644
--- a/collectd/files/collectd.conf
+++ b/collectd/files/collectd.conf
@@ -882,10 +882,16 @@
 Include "/etc/collectd/conf.d/00_collectd_logfile.conf"
 {%- endif %}
 {%- for plugin_name, plugin in service_grains.collectd.local_plugin.iteritems() %}
-{%- if (plugin.get('execution', 'local') == 'local' or client.remote_collector) and plugin.get('plugin', 'native') not in ['python'] %}
+{%- if plugin.get('plugin', 'native') not in ['python'] %}
 Include "{{ client.config_dir }}/{{ plugin_name }}.conf"
 {%- endif %}
 {%- endfor %}
+{%- if client.remote_collector %}
+{%- for plugin_name, plugin in service_grains.collectd.remote_plugin.iteritems() %}
+{%- if plugin.get('plugin', 'native') not in ['python'] %}
+{%- endif %}
+{%- endfor %}
+{%- endif %}
 Include "{{ client.config_dir }}/collectd_python.conf"
 {%- for backend_name, backend in client.backend.iteritems() %}
 Include "{{ client.config_dir }}/collectd_writer_{{ backend_name }}.conf"
diff --git a/collectd/files/collectd_python.conf b/collectd/files/collectd_python.conf
index 6142345..9111065 100644
--- a/collectd/files/collectd_python.conf
+++ b/collectd/files/collectd_python.conf
@@ -7,10 +7,18 @@
   LogTraces false
   Interactive false
 
-  {%- for plugin_name, plugin in plugin.iteritems() %}
-  {%- if (plugin.get('execution', 'local') == 'local' or client.remote_collector) and plugin.get('plugin', 'native') == 'python' %}
+  {%- for plugin_name, plugin in local_plugin.iteritems() %}
+  {%- if plugin.get('plugin', 'native') == 'python' %}
   {%- include plugin.template %}
   {%- endif %}
   {%- endfor %}
 
+  {%- if client.remote_collector %}
+  {%- for plugin_name, plugin in remote_plugin.iteritems() %}
+  {%- if plugin.get('plugin', 'native') == 'python' %}
+  {%- include plugin.template %}
+  {%- endif %}
+  {%- endfor %}
+  {%- endif %}
+
 </Plugin>
