diff --git a/ChangeLog b/ChangeLog
index ac55b63629b5796ee51dfff6b75d8b74c22d0f08..c39ca976e619d885ad553155851c157606fb1648 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,7 +7,8 @@ version 0.9.3 -- unreleased
         code refactor:
 	 . now uses vservers lib to initialize vservers support
     handler changes
-        duplicity, mysql, pgsql, rdiff, svn: use new lib/vserver functionality
+        duplicity, mysql, pgsql, rdiff, svn, sys: start to use (at different
+	   degrees) new lib/vserver functionality
         mysql:
          . fixed no user defaults file processing
 	duplicity:
diff --git a/handlers/sys b/handlers/sys
index dd49a3e308af2d834685d85d4e99d75f5177c7ba..349f284817048dd29c23f59195964393b0240d72 100755
--- a/handlers/sys
+++ b/handlers/sys
@@ -33,23 +33,19 @@ getconf sfdisk_options ""
 getconf hwinfo_options ""
 
 # See if vservers are configured
-if [ "$vservers" = "yes" ]
+local usevserver=no
+if [ $vservers_are_available = yes ]
 then
-	if [ ! -d $VROOTDIR ]
-	then
-		fatal "vservers enabled, but $VROOTDIR does not exist!"
-	else
-		info "vserver method enabled"
-		usevserver=1
-	fi
+   info "vserver method enabled"
+   usevserver=yes
 fi
 
 if [ "$packages" == "yes" ]; then
-	if [ $usevserver ]
+	if [ $usevserver = yes ]
 	then
 		nodpkg="lost+found|ARCHIVES"
 		info "vserver root directory set to: $VROOTDIR"
-		for vserver in `ls $VROOTDIR | grep -E -v $nodpkg`
+		for vserver in $found_vservers
 		do
 			info "examining vserver: $vserver"
 			running=`$VSERVERINFO $vserver RUNNING`
@@ -97,7 +93,7 @@ fi
 #
 
 if [ "$packages" == "yes" ]; then
-   if [ $usevserver ]
+   if [ $usevserver = yes ]
    then
       for vserver in `ls $VROOTDIR | grep -E -v $nodpkg`
       do