diff --git a/ChangeLog b/ChangeLog
index cace60c865e72481e11f8f27e4e5c76d4f59c3b8..2a414a39b0801f8afde0dc057649c49bf437e923 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,13 +6,14 @@ version 0.9.4 -- unreleased
 	 Recursively ignore subdirs in /etc/backup.d (Closes: #361102)
 	 Added tar handler
 	mysql:
-	 . Fixed improper use of $vuserhome (Debian: #351083)
+	 . Fixed improper use of $vuserhome (Closes: #351083)
 	 . Fixed erroneous removal of tmpfile when it didn't exit
 	 . Fixed inversed vsname emptiness check
 	 . Fixed su quote usage to be more posixy
 	pgsql:
 	 . Fixed inversed vsname emptiness check
 	 . Fixed su quote usage to be more posixy
+	 . Fixed shell expansion, thanks Thomas Kotzian (Closes: #363297)
 	svn:
 	 . Fixed inversed vsname emptiness check
 	rdiff:
diff --git a/handlers/pgsql b/handlers/pgsql
index 940f16b475a570f2fb52c3538fe321c6be269570..b67b3f1e548ccbdada48b9b1465a45d178a01917 100644
--- a/handlers/pgsql
+++ b/handlers/pgsql
@@ -72,13 +72,13 @@ chmod 700 $vroot$backupdir
 # if $databases = all, use pg_dumpall
 if [ "$databases" == "all" ]; then
     if [ $usevserver = yes ]; then
-	execstr='$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\"'
+	execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMPALL > $backupdir/${vsname}.sql\""
     else
-	execstr='su - postgres -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\"'
+	execstr="su - postgres -c \"$PGSQLDUMPALL > $backupdir/${localhost}-all.sql\""
     fi
     debug "$execstr"
     if [ ! $test ]; then
-       output=`$execstr 2>&1`
+       output=`eval $execstr 2>&1`
        code=$?
 	if [ "$code" == "0" ]; then
 	    debug $output
@@ -94,13 +94,13 @@ else
     for db in $databases; do
 	if [ $usevserver = yes ]
 	    then
-	    execstr='$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\"'
+	    execstr="$VSERVER $vsname exec su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
 	else
-	    execstr='su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\"'
+	    execstr="su - postgres -c \"$PGSQLDUMP $db > $backupdir/${db}.sql\""
 	fi
 	debug "$execstr"
 	if [ ! $test ]; then
-	    output=`$execstr 2>&1`
+	    output=`eval $execstr 2>&1`
 	    code=$?
 	    if [ "$code" == "0" ]; then
 		debug $output