diff --git a/conf/type/__start_on_boot/explorer/exists b/conf/type/__start_on_boot/explorer/exists
deleted file mode 100755
index f8b85671..00000000
--- a/conf/type/__start_on_boot/explorer/exists
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-#
-# 2011 Nico Schottelius (nico-cdist at schottelius.org)
-#
-# This file is part of cdist.
-#
-# cdist is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# cdist is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with cdist. If not, see .
-#
-#
-# Check whether file exists or not
-#
-
-destination="/$__object_id"
-
-if [ -e "$destination" ]; then
- echo yes
-else
- echo no
-fi
diff --git a/conf/type/__start_on_boot/explorer/cksum b/conf/type/__start_on_boot/explorer/state
similarity index 59%
rename from conf/type/__start_on_boot/explorer/cksum
rename to conf/type/__start_on_boot/explorer/state
index dcad99ba..c68ec2ba 100755
--- a/conf/type/__start_on_boot/explorer/cksum
+++ b/conf/type/__start_on_boot/explorer/state
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# 2011 Nico Schottelius (nico-cdist at schottelius.org)
+# 2012 Nico Schottelius (nico-cdist at schottelius.org)
#
# This file is part of cdist.
#
@@ -18,17 +18,27 @@
# along with cdist. If not, see .
#
#
-# Retrieve the md5sum of a file to be created, if it is already existing.
+# Check whether the given name will be started on boot or not
#
-destination="/$__object_id"
+os=$(cat "$__global/explorer/os")
+
+case "$os" in
+ debian|ubuntu)
+ echo update-rc.d \"$name\" defaults
+ ;;
+
+ gentoo)
+ echo rc-update add \"$name\" default
+ ;;
+
+ centos|fedora|owl|redhat)
+ echo chkconfig \"$name\" on
+ ;;
+
+ *)
+ echo "Unsupported os: $os" >&2
+ exit 1
+ ;;
+esac
-if [ -e "$destination" ]; then
- if [ -f "$destination" ]; then
- cksum < "$destination"
- else
- echo "NO REGULAR FILE"
- fi
-else
- echo "NO FILE FOUND, NO CHECKSUM CALCULATED."
-fi