diff --git a/ChangeLog b/ChangeLog
index bd7c1aff05479e6107117124cb0ae3cda224796a..12385a062354886a5419786157930cd5bfb9e503 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,9 +7,12 @@ version 0.9.5 -- unreleased
 	sys:
 	 . Fixed typo breaking things for VServers.
 	 . Fix bug when vrootdir is on its own partition (Closes: #395928)
-	 . Hide silly sfdisk error output.
+	 . Better sfdisk error and output handling: should now properly warn
+	   when it does not manage to backup a partition table, and shut up when
+	   it succeeds (Closes: #396632)
 	pgsql:
-	 . Support configuring PGSQLUSER for real, and document it a bit
+	 . Support configuring PGSQLUSER for real, and document it a bit; this
+	   broken support actually prevented pgsql handler to work for VServers
 	   (Closes: #396578)
     fixed automake 'make install' bug that failed if /etc/backup.d already
     existed
diff --git a/handlers/sys b/handlers/sys
index 7c31780e77f78753b98ef63cfc4b2049380ca307..57d9d60859c37d2efba1052b2cbe7295d65b1e0b 100755
--- a/handlers/sys
+++ b/handlers/sys
@@ -444,7 +444,6 @@ fi
 
 if [ "$partitions" == "yes" ]; then
 	devices=`$SFDISK -l 2>/dev/null | grep "^Disk /dev" | awk '{print $2}' | cut -d: -f1`
-        debug "$SFDISK will try to backup partition tables for devices $devices"
 	if [ "$devices" == "" ]; then 
 	   warning "No harddisks found" 
 	fi
@@ -454,8 +453,11 @@ if [ "$partitions" == "yes" ]; then
 		label=${dev#/dev/}
 		label=${label//\//-}
 		outputfile=${partitionsfile//__star__/$label}
-		debug "$SFDISK $sfdisk_options -d $dev > $outputfile"
-		$SFDISK $sfdisk_options -d $dev > $outputfile
+		debug "$SFDISK $sfdisk_options -d $dev > $outputfile 2>/dev/null"
+		$SFDISK $sfdisk_options -d $dev > $outputfile 2>/dev/null
+                if [ $? -ne 0 ]; then
+                   warning "The partition table for $dev could not be saved."
+                fi
 	done
 fi