diff --git a/src/warden-server/sh/uninstall.sh b/src/warden-server/sh/uninstall.sh
index 0f2e758b27ebbb73a10bc751d7d4d88ea7bc53e7..77aef7c5aa631b18ceb5e6add97fefe7f1b41e21 100755
--- a/src/warden-server/sh/uninstall.sh
+++ b/src/warden-server/sh/uninstall.sh
@@ -38,8 +38,7 @@ version()
 err()
 {
 	echo "FAILED!"
-	echo
-	cat "$err"
+	echo -n "Error: " && cat "$err"
 	rm -f "$err"
 	rm -rf "$backup"
 	echo
@@ -51,6 +50,7 @@ err()
 errClean()
 {
 	echo "FAILED!"
+	echo -n "Error: " && cat "$err"
 	echo " -> Reverting changes of warden server package ... "
 	rm -rf "${basedir}/"* > /dev/null 2>&1
 	cp -R "${backup}/"* "$basedir"
@@ -60,8 +60,6 @@ errClean()
 			ln -s "${bin}/${file##*/}" "${symbin}/${file##*/}"
 		done
 	fi
-	echo
-	cat "$err"
 	rm -f "$err"
 	rm -rf "$backup"
 	echo
@@ -86,10 +84,14 @@ paramsChck()
 wardenDirChck()
 {
 	echo -n "Checking Warden server directory ... "
-	if [[ ! -d "$basedir" ]] && [[ ! -w "$basedir" ]]; then
+	if [[ ! -d "$basedir" ]] && ; then
 		echo "FAILED!"
 		echo "Warden server package is not installed!"
 		exit 1
+	elif [[ ! -w "$basedir" ]]; then
+		echo "FAILED!"
+		echo "You don't have permission to Warden server directory!"
+		exit 1
 	else
 		echo "OK"
 	fi
@@ -128,9 +130,9 @@ uninstallWardenServer()
 	manifest=$(find "$basedir" -name MANIFEST) || err
 	for file in $(<"$manifest")
 	do
+		rm -f "${basedir}/$file" 2> "$err" || errClean
 		directory="${file%/*}"
-		rm -f "${basedir}/$file"
-		rmdir --ignore-fail-on-non-empty "${basedir}/$directory"
+		rmdir --ignore-fail-on-non-empty "${basedir}/$directory" 2> "$err" || errClean
 	done
 	rm -f "${basedir}/uninstall.sh"
 	rmdir --ignore-fail-on-non-empty "$basedir"
@@ -177,7 +179,7 @@ err="/tmp/warden-err"
 uninstall="/tmp/UNINSTALL.warden"
 backup="/tmp/warden-backup"
 
-
+echo "Uninstallation of Warden server package ..."
 echo
 echo "------------------------- Uninstallation process --------------------------------"
 
@@ -191,7 +193,7 @@ getPackageVersion
 createBackup
 
 # uninstall Warden server
-uninstallWardenServer
+uninstallWardenServer || exit 1
 
 # delete symlinks from $symbin (if -s option is set)
 [[ ! -z "$symbin" ]] && [[ -d "$symbin" ]] && [[ -w "$symbin" ]] && deleteSymlinks