diff --git a/manifests/init.pp b/manifests/init.pp
index abd266a34..5865d674d 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -115,7 +115,7 @@
   $package_ensure       = $::prometheus::params::package_ensure,
   $config_dir           = $::prometheus::params::config_dir,
   $localstorage         = $::prometheus::params::localstorage,
-  $extra_options        = "-storage.local.path=${::prometheus::params::localstorage}",
+  $extra_options        = undef,
   $config_hash          = {},
   $config_defaults      = {},
   $config_mode          = $::prometheus::params::config_mode,
diff --git a/metadata.json b/metadata.json
index b09b579aa..ad9fe5e19 100644
--- a/metadata.json
+++ b/metadata.json
@@ -19,5 +19,5 @@
   "source": "https://github.com/brutus333/puppet-prometheus",
   "summary": "Prometheus Puppet module",
   "tags": [],
-  "version": "0.1.5"
+  "version": "0.1.6"
 }
diff --git a/templates/prometheus.debian.erb b/templates/prometheus.debian.erb
index 2870195cb..03d176def 100644
--- a/templates/prometheus.debian.erb
+++ b/templates/prometheus.debian.erb
@@ -18,7 +18,7 @@ DESC="Prometheus monitoring framework"
 NAME=prometheus
 DAEMON=<%= scope.lookupvar('prometheus::bin_dir') %>/$NAME
 PIDFILE=/var/run/$NAME/$NAME.pid
-DAEMON_ARGS=" -config.file=<%= scope.lookupvar('prometheus::config_dir')+'/prometheus.yaml' %> <%= scope.lookupvar('prometheus::extra_options') %>"
+DAEMON_ARGS=" -config.file=<%= scope.lookupvar('prometheus::config_dir')+'/prometheus.yaml' %> -storage.local.path=<%= scope.lookupvar('prometheus::params::localstorage')%> <%= scope.lookupvar('prometheus::extra_options') %>"
 USER=<%= scope.lookupvar('prometheus::user') %>
 SCRIPTNAME=/etc/init.d/$NAME
 
diff --git a/templates/prometheus.launchd.erb b/templates/prometheus.launchd.erb
index e0de8feab..c7eb42fa7 100644
--- a/templates/prometheus.launchd.erb
+++ b/templates/prometheus.launchd.erb
@@ -18,6 +18,8 @@
             <string>agent</string>
             <string>-config.file=</string>
             <string><%= scope.lookupvar('prometheus::config_dir')+'/prometheus.yaml' %></string>
+            <string>-storage.local.path=</string>
+            <string><%= scope.lookupvar('prometheus::params::localstorage')%></string>
 <% require 'shellwords' %>
 <% for extra_option in Shellwords.split(scope.lookupvar('prometheus::extra_options')) %>
             <string><%= extra_option %></string>
diff --git a/templates/prometheus.sles.erb b/templates/prometheus.sles.erb
index 732e61d89..c220284d4 100644
--- a/templates/prometheus.sles.erb
+++ b/templates/prometheus.sles.erb
@@ -36,7 +36,7 @@ case "$1" in
         echo -n "Starting prometheus "
         ## Start daemon with startproc(8). If this fails
         ## the return value is set appropriately by startproc.
-        startproc $PROMETHEUS_BIN -config.file="$CONFIG_FILE" <%= scope.lookupvar('prometheus::extra_options') %> >> "$LOG_FILE"
+        startproc $PROMETHEUS_BIN -config.file="$CONFIG_FILE" -storage.local.path=<%= scope.lookupvar('prometheus::params::localstorage')%> <%= scope.lookupvar('prometheus::extra_options') %> >> "$LOG_FILE"
 
         # Remember status and be verbose
         rc_status -v
diff --git a/templates/prometheus.systemd.erb b/templates/prometheus.systemd.erb
index 985512b04..e62bca47c 100644
--- a/templates/prometheus.systemd.erb
+++ b/templates/prometheus.systemd.erb
@@ -7,7 +7,8 @@ After=basic.target network.target
 User=<%= scope.lookupvar('prometheus::user') %>
 Group=<%= scope.lookupvar('prometheus::group') %>
 ExecStart=<%= scope.lookupvar('prometheus::bin_dir') %>/prometheus \
-  -config.file=<%= scope.lookupvar('prometheus::config_dir')+'/prometheus.yaml' %> <%= scope.lookupvar('prometheus::extra_options') %>
+  -config.file=<%= scope.lookupvar('prometheus::config_dir')+'/prometheus.yaml' %>\
+  -storage.local.path=<%= scope.lookupvar('prometheus::params::localstorage')%> <%= scope.lookupvar('prometheus::extra_options') %>
 ExecReload=/bin/kill -HUP $MAINPID
 KillMode=process
 Restart=on-failure
diff --git a/templates/prometheus.sysv.erb b/templates/prometheus.sysv.erb
index 4ebe7f9ac..3ae4d85fd 100644
--- a/templates/prometheus.sysv.erb
+++ b/templates/prometheus.sysv.erb
@@ -52,7 +52,9 @@ start() {
         [ -f $PID_FILE ] && rm $PID_FILE
         daemon --user=<%= scope.lookupvar('prometheus::user') %> \
             --pidfile="$PID_FILE" \
-            "$DAEMON" -log.format logger:stdout -config.file="$CONFIG" <%= scope.lookupvar('prometheus::extra_options') %> >> "$LOG_FILE" &
+            "$DAEMON" -log.format logger:stdout -config.file="$CONFIG" \
+            -storage.local.path=<%= scope.lookupvar('prometheus::params::localstorage')%> \
+            <%= scope.lookupvar('prometheus::extra_options') %> >> "$LOG_FILE" &
         retcode=$?
         mkpidfile
         touch /var/lock/subsys/prometheus
diff --git a/templates/prometheus.upstart.erb b/templates/prometheus.upstart.erb
index 984cf3205..94e22bc8f 100644
--- a/templates/prometheus.upstart.erb
+++ b/templates/prometheus.upstart.erb
@@ -23,7 +23,7 @@ script
     [ -e $DEFAULTS ] && . $DEFAULTS
 
     export GOMAXPROCS=${GOMAXPROCS:-2}
-    exec start-stop-daemon -c $USER -g $GROUP -p $PID_FILE -x $PROMETHEUS -S -- -config.file=$CONFIG <%= scope.lookupvar('prometheus::extra_options') %>
+    exec start-stop-daemon -c $USER -g $GROUP -p $PID_FILE -x $PROMETHEUS -S -- -config.file=$CONFIG -storage.local.path=<%= scope.lookupvar('prometheus::params::localstorage')%> <%= scope.lookupvar('prometheus::extra_options') %>
 end script
 
 respawn