diff --git a/cdist/conf/type/__start_on_boot/explorer/state b/cdist/conf/type/__start_on_boot/explorer/state
index 62f86332..e9e4318e 100755
--- a/cdist/conf/type/__start_on_boot/explorer/state
+++ b/cdist/conf/type/__start_on_boot/explorer/state
@@ -39,10 +39,19 @@ case "$os" in
         [ -f "/etc/rc$runlevel.d/S"??"$name" ] || state="absent"
     ;;
 
-    amazon|centos|fedora|owl|redhat|suse)
+    amazon|centos|fedora|owl|redhat)
         state=$(chkconfig --level "$runlevel" "$name" || echo absent)
         [ "$state" ] || state="present"
     ;;
+    suse)
+        # check for target if set, usable for boot. services in runlevel B
+        if [ "$target_runlevel" != 'default' ]; then
+            runlevel="$target_runlevel"
+        fi
+        # suses chkconfig has the same name, but works different ...
+        state=$(chkconfig --check "$name" "$runlevel" || echo absent)
+        [ "$state" ] || state="present"
+    ;;
     gentoo)
         state="present"
         [ -f "/etc/runlevels/${target_runlevel}/${name}" ] || state="absent"