diff --git a/aptcacher/files/apt-cacher-ng-default b/aptcacher/files/apt-cacher-ng-default
new file mode 100644
index 0000000..c2c4bc0
--- /dev/null
+++ b/aptcacher/files/apt-cacher-ng-default
@@ -0,0 +1,20 @@
+# Defaults for apt-cacher-ng initscript
+# sourced by /etc/init.d/apt-cacher-ng
+# installed at /etc/default/apt-cacher-ng by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Set to non-empty value to disable the start of the service at boot time
+# DISABLED=1
+
+# See umask(2) or chmod(1) for details.
+# 002 would make new files writable by group.
+#
+# umask 022
+
+# Additional options that are passed to the Daemon.
+
+limit nofile 65536 65536
+DAEMON_OPTS=" -c /etc/apt-cacher-ng "
diff --git a/aptcacher/files/apt-cacher-ng-init b/aptcacher/files/apt-cacher-ng-init
deleted file mode 100644
index f3bef59..0000000
--- a/aptcacher/files/apt-cacher-ng-init
+++ /dev/null
@@ -1,95 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          apt-cacher-ng
-# Required-Start:    $local_fs $network $remote_fs
-# Required-Stop:     $local_fs $network $remote_fs
-# Should-Start:      $named
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Apt-Cacher NG package proxy
-# Description:       This script powers up the package proxy daemon
-### END INIT INFO
-
-# Author: Eduard Bloch <blade@debian.org>
-
-test -r /etc/default/rcS && . /etc/default/rcS
-. /lib/lsb/init-functions
-
-limit nofile 65536 65536
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/apt-cacher-ng
-NAME=apt-cacher-ng
-DESC=apt-cacher-ng
-USER=apt-cacher-ng
-GROUP=apt-cacher-ng
-
-test -x $DAEMON || exit 0
-
-# Include apt-cacher-ng defaults if available
-if [ -f /etc/default/apt-cacher-ng ] ; then
-	. /etc/default/apt-cacher-ng
-fi
-
-test -z "$DISABLED" || exit 0
-
-# our runtime state files directory, will be purged on startup!
-RUNDIR="/var/run/$NAME"
-
-PIDFILE="$RUNDIR/pid"
-SOCKETFILE="$RUNDIR/socket"
-DAEMON_OPTS="$DAEMON_OPTS pidfile=$PIDFILE SocketPath=$SOCKETFILE foreground=0  $EXTRA_ACNG_OPTS "
-
-do_start() {
-   PIDOF=$(pidof apt-cacher-ng)
-   if [ -n "$PIDOF" ] && [ -e "$PIDFILE" ] && [ "$PIDOF" = "$(cat $PIDFILE)" ] ; then
-      return 255
-   fi
-   rm -rf "$RUNDIR" || return 1
-   install -d --mode=0755 -o $USER -g $GROUP "$RUNDIR" || return 1
-   start-stop-daemon --start --chuid $USER --group $GROUP --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
-}
-
-do_stop() {
-
-	if ! start-stop-daemon --stop --retry 15 --quiet --pidfile $PIDFILE \
-     --exec $DAEMON
-  then
-     if ! test -e "$PIDFILE" && ! start-stop-daemon --stop \
-        --retry TERM/10/KILL/5 --exec $DAEMON
-     then
-        return $?
-     fi
-  fi
-  rm -f $PIDFILE
-  return 0
-
-}
-
-case "$1" in
-   start)
-      log_daemon_msg "Starting $DESC" "$NAME"
-      do_start
-      log_end_msg $?
-      ;;
-   stop)
-      log_daemon_msg "Stopping $DESC" "$NAME"
-      do_stop
-      log_end_msg $?
-      ;;
-   restart|force-reload)
-      log_daemon_msg "Restarting $DESC" "$NAME"
-      do_stop
-      do_start
-      log_end_msg $?
-      ;;
-   status)
-      status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
-      ;;
-   *)
-      echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2
-      exit 3
-      ;;
-esac
-
-:
diff --git a/aptcacher/server.sls b/aptcacher/server.sls
index 0017756..b519e1b 100644
--- a/aptcacher/server.sls
+++ b/aptcacher/server.sls
@@ -24,9 +24,8 @@
   - names: {{ server.services }}
   - watch:
     - file: /etc/apt-cacher-ng/acng.conf
-{%- if grains.get('init', None) == 'systemd' %}
-    - module: aptcacher_limits_override
 
+{%- if grains.get('init', None) == 'systemd' %}
 aptcacher_limits_override:
   file.managed:
   - name: /etc/systemd/system/apt-cacher-ng.service.d/override.conf
@@ -37,15 +36,18 @@
   - name: service.systemctl_reload
   - onchanges:
     - file: /etc/systemd/system/apt-cacher-ng.service.d/override.conf
+  - watch_in:
+      - service: aptcacher_services
 {%- else %}
-    - file: /etc/init.d/apt-cacher-ng
 
 aptcacher_init:
   file.managed:
-  - name: /etc/init.d/apt-cacher-ng
-  - source: salt://aptcacher/files/apt-cacher-ng-init
-  - mode: 755
+  - name: /etc/default/apt-cacher-ng
+  - source: salt://aptcacher/files/apt-cacher-ng-default
+  - mode: 644
   - template: jinja
+  - watch_in:
+    service: aptcacher_services
 {%- endif %}
 
 {%- endif %}
