diff --git a/src/warden-client/sh/update.sh b/src/warden-client/sh/update.sh
index 5bea9177329cfc85d824a43108bb12e32dd5c4e7..0657c1936b8ccc0f880f0b33dcbb1fb31b63239e 100755
--- a/src/warden-client/sh/update.sh
+++ b/src/warden-client/sh/update.sh
@@ -39,199 +39,213 @@ VERSION="1.0"
 #-------------------------------------------------------------------------------
 usage()
 {
-  echo "Usage: `basename $0` [-d <directory>] [-hV]"
-  echo "-d <directory>            installation directory (default: /opt)"
-  echo "-h                        print this help"
-  echo "-V                        print script version number and exit"
-  echo
-  echo "Example: ./`basename $0` -d /opt"
-  echo
-  echo "Note: You must be root for running this script."
-  echo "      For more information about update process, see README file (section Update)."
-  echo
-  exit 0
+	echo "Usage: `basename $0` [-d <directory>] [-hV]"
+	echo "-d <directory>            installation directory (default: /opt)"
+	echo "-h                        print this help"
+	echo "-V                        print script version number and exit"
+	echo
+	echo "Example: ./`basename $0` -d /opt"
+	echo
+	echo "Note: You must be root for running this script."
+	echo "      For more information about update process, see README file (section Update)."
+	echo
+	exit 0
 }
 
 
 version()
 {
-  echo "`basename ${0}` - current version is $VERSION"
-  exit 0
+	echo "`basename ${0}` - current version is $VERSION"
+	exit 0
 }
 
 
 err()
 {
-  echo "FAILED!"
-  cat $err
-  rm -rf $err
-  rm -rf $backup_dir
-  echo
-  echo "Update to $package_name package FAILED!!!"
-  exit 1
+	echo "FAILED!"
+	cat $err
+	rm -rf $err
+	rm -rf $backup_dir
+	echo
+	echo "Update from $old_package_name to $package_name package FAILED!!!"
+	exit 1
 }
 
 
 err_clean()
 {
-  echo "FAILED!"
-  echo " -> Reverting changes of warden client package ... OK"
-  rm -rf "$client_path/*" > /dev/null 2>&1
-  cp -R "$backup_dir/*" $client_path
-  cat $err
-  rm -rf $err
-  rm -rf $backup_dir
-  echo
-  echo "Update to $package_name package FAILED!!!"
-  exit 1
+	echo "FAILED!"
+	echo " -> Reverting changes of warden client package ... OK"
+	rm -rf "$client_path/*" > /dev/null 2>&1
+	cp -R "$backup_dir/*" $client_path
+	cat $err
+	rm -rf $err $backup_dir
+	echo
+	echo "Update from $old_package_name to $package_name package FAILED!!!"
+	exit 1
 }
 
 
 os_chck()
 {
-  OS=`uname`
-  if [ "$OS" != "Linux" ]; then
-    echo "Sorry, unsupported operating system detected - \"$OS\"!"
-    exit 1
-  fi
+	OS=`uname`
+	if [ "$OS" != "Linux" ]; then
+		echo "Sorry, unsupported operating system detected - \"$OS\"!"
+		exit 1
+	fi
 }
 
 
 shell_chck()
 {
-  SHELL=`echo $SHELL`
-  if [ "$SHELL" != "/bin/bash" ]; then
-    echo "Sorry, this script is usable in Bourne Again Shell (bash) only!"
-    exit 1
-  fi
+	SHELL=`echo $SHELL`
+	if [ "$SHELL" != "/bin/bash" ]; then
+		echo "Sorry, this script is usable in Bourne Again Shell (bash) only!"
+		exit 1
+	fi
 }
 
 
 root_chck()
 {
-  if [ $UID -ne 0 ]; then
-    echo "You must be root for running this script!"
-    exit 1
-  fi
+	if [ $UID -ne 0 ]; then
+		echo "You must be root for running this script!"
+		exit 1
+	fi
 }
 
 
 params_chck()
 {
-  if [ -z $prefix ]; then
-    prefix=/opt
-    echo "Warning: parameter -d <directory> is not set - default installation directory is $prefix!"
-  fi
+	if [ -z $prefix ]; then
+		prefix=/opt
+		echo "Warning: parameter -d <directory> is not set - default installation directory is $prefix!"
+	fi
+}
+
+
+obtain_package_version()
+{
+	if [ -f $old_package_version_file ]; then 
+		old_package_version=`cat $old_package_version_file`
+	else
+		echo "Sorry, but warden-client package is not installed!"
+		echo "For installation of warden client package please use install.sh script."
+		exit 1
+	fi
 }
 
 
 perl_chck()
 {
-  echo -n "Checking Perl interpreter ... "
-  which perl 1>/dev/null; ret_val=`echo $?`
-  if [ $ret_val -eq 0 ]; then
-    echo "OK"
-  else
-    echo "FAILED!"
-    echo "Error: Perl interpreter is not installed!" 
-    exit 1
-  fi
+	echo -n "Checking Perl interpreter ... "
+	which perl 1>/dev/null; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
+		echo "OK"
+	else
+		echo "FAILED!"
+		echo "Error: Perl interpreter is not installed!" 
+		exit 1
+	fi
 }
 
 
 modules_chck()
 {
-  for module in ${modules[@]};
-  do
-    echo -n "Checking $module module ... "
-    perl -e "use $module" 2> $err; ret_val=`echo $?`
-    if [ $ret_val -eq 0 ]; then
-      echo "OK"
-    else
-      err
-    fi
-  done
+	for module in ${modules[@]};
+	do
+		echo -n "Checking $module module ... "
+		perl -e "use $module" 2> $err; ret_val=`echo $?`
+		if [ $ret_val -eq 0 ]; then
+			echo "OK"
+		else
+			err
+		fi
+	done
 }
 
 
 installation_dir_chck()
 {
-  echo -n "Checking installation directory ... "
-  if [ ! -d $prefix ]; then
-    echo "FAILED!"
-    ls $prefix
-    exit 1
-  else
-    echo "OK"
-  fi
+	echo -n "Checking installation directory ... "
+	if [ ! -d $prefix ]; then
+		echo "FAILED!"
+		ls $prefix
+		exit 1
+	else
+		echo "OK"
+	fi
 }
 
 
 warden_dir_chck()
 {
-  echo -n "Checking warden client directory ... "
-  if [ ! -d $client_path ]; then
-    echo "FAILED!"
-    ls $prefix
-    exit 1
-  else
-    echo "OK"
-  fi
+	echo -n "Checking warden client directory ... "
+	if [ ! -d $client_path ]; then
+		echo "FAILED!"
+		ls $prefix
+		exit 1
+	else
+		echo "OK"
+	fi
 }
 
 
 backup()
 {
-  echo -n "Backing-up warden client directory ... "
-  mkdir $backup_dir
-  cp -R $client_path $backup_dir 2> $err; ret_val=`echo $?`
-  if [ $ret_val -eq 0 ]; then
-    echo "OK"
-  else
-    err
-  fi
+	echo -n "Backing-up warden client directory ... "
+	mkdir $backup_dir
+	cp -R $client_path $backup_dir 2> $err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
+		echo "OK"
+	else
+		err
+	fi
 }
 
 
 obtain_warden_user()
 {
-  echo -n "Obtaining warden client directory owner ... "
-  user=`stat -c %U $conf_file` 2> $err; ret_val=`echo $?`
-  if [ $ret_val -eq 0 ]; then
-    echo "OK"
-  else
-    err
-  fi
+	echo -n "Obtaining warden client directory owner ... "
+	user=`stat -c %U $conf_file` 2> $err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
+		echo "OK"
+	else
+		err
+	fi
 }
 
 
 update_warden_dir()
 {
-  echo -n "Updating warden client directory ... "
-  rsync -q --recursive --archive --delete --exclude="warden-client/etc" --exclude="warden-client/var" warden-client $prefix 2> $err; ret_val=`echo $?`
-  if [ $ret_val -eq 0 ]; then
-    echo "OK"
-  else
-    err_clean
-  fi
-
-  files=(CHANGELOG INSTALL LICENSE README README.cesnet)
-  for file in ${files[@]};
-  do  
-      cp -u "`dirname $0`/$file" "$client_path/doc"
-  done
-  cp -u "`dirname $0`/uninstall.sh" "$client_path"
+	echo -n "Updating warden client directory ... "
+	rsync -q --recursive --archive --delete   --exclude="$dirname/warden-client/etc"\
+  						  --include="$dirname/warden-client/etc/package_version.txt"\
+						  --exclude="$dirname/warden-client/var"\
+						  warden-client $prefix 2> $err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
+		echo "OK"
+	else
+		err_clean
+	fi
+
+	files=(CHANGELOG INSTALL LICENSE README README.cesnet)
+	for file in ${files[@]};
+	do  
+		cp -u "$dirname/$file" "$client_path/doc"
+	done
+	cp -u "$dirname/uninstall.sh" "$client_path"
 }
 
 
 make_conf_file()
 {
-  echo -n "Creating configuration file ... "
-  uri=`cat $conf_file | grep '$URI'`
-  ssl_key_file=`cat $conf_file | grep '$SSL_KEY_FILE'`
-  ssl_cert_file=`cat $conf_file | grep '$SSL_CERT_FILE'`
-  ssl_ca_file=`cat $conf_file | grep '$SSL_CA_FILE'`
-echo "#
+	echo -n "Creating configuration file ... "
+	uri=`cat $conf_file | grep '$URI'`
+	ssl_key_file=`cat $conf_file | grep '$SSL_KEY_FILE'`
+	ssl_cert_file=`cat $conf_file | grep '$SSL_CERT_FILE'`
+	ssl_ca_file=`cat $conf_file | grep '$SSL_CA_FILE'`
+	echo "#
 # warden-client.conf - configuration file for the warden sender/receiver client
 #
 
@@ -255,23 +269,24 @@ $ssl_cert_file
 #-------------------------------------------------------------------------------
 $ssl_ca_file
 " > $conf_file 2> $err; ret_val=`echo $?`
-  if [ $ret_val -eq 0 ]; then
-    echo "OK"
-  else
-    err_clean
-  fi
+
+	if [ $ret_val -eq 0 ]; then
+		echo "OK"
+	else
+		err_clean
+	fi
 }
 
 
 change_permissions()
 {
-  echo -n "Changing permissions to updated package ... "
-  chown -R $user: $client_path 2>$err; ret_val=`echo $?`
-  if [ $ret_val -eq 0 ]; then
-    echo "OK"
-  else
-    err_clean
-  fi
+	echo -n "Changing permissions to updated package ... "
+	chown -R $user: $client_path 2>$err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
+		echo "OK"
+	else
+		err_clean
+	fi
 }
 
 
@@ -291,12 +306,12 @@ shell_chck
 
 # read input
 while getopts "d:Vh" options; do
-  case $options in
-    d ) prefix=$OPTARG;;
-    h ) usage;;
-    V ) version;;
-    * ) usage;;
-  esac
+	case $options in
+		d ) prefix=$OPTARG;;
+		h ) usage;;
+		V ) version;;
+		* ) usage;;
+	esac
 done
 
 # root test
@@ -306,13 +321,18 @@ root_chck
 params_chck
 
 # create variables
-package_name="warden-client-$VERSION"
+dirname=`dirname $0`
+package_version=`cat $dirname/warden-client/etc/package_version.txt`
 client_path="$prefix/warden-client"
 etc="$client_path/etc"
+old_package_version_file="$etc/package_version.txt"
 conf_file="$etc/warden-client.conf"
 err="/tmp/warden-err"
 backup_dir="/tmp/warden-backup"
 
+# obtain version of old warden client
+#obtain_package_version		# ENABLE for next client package
+old_package_version="1.0.0"
 
 echo
 echo "------------------------- Dependencies check-in -------------------------"
@@ -323,7 +343,6 @@ perl_chck
 # Perl modules test
 modules_chck
 
-
 echo
 echo "------------------------- Update process --------------------------------"
 
@@ -351,10 +370,9 @@ change_permissions
 echo
 echo "Please check configuration file in $conf_file!"
 echo
-echo "Update to $package_name package was SUCCESSFUL!!!"
+echo "Update from $old_package_version to $package_version package was SUCCESSFUL!!!"
 
 # cleanup section
-rm -rf $err
-rm -rf $backup_dir
+rm -rf $err $backup_dir
 
 exit 0