diff --git a/ChangeLog b/ChangeLog
index aec8d9741f03c379eae6b12763402959045c6038..a6fb5e51b26d63e46d3184786fb14550b87397fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@ version 0.9.4 -- unreleased
 	mysql:
 	 . Fixed improper use of $vuserhome (Debian: #351083)
 	 . Fixed erroneous removal of tmpfile when it didn't exit
+	rdiff:
+	 . Fixed improper include/exclude symlink dereference
     lib changes
 	vserver:
 	 . init_vservers: fixed Debian bug #351083 (improper readlink syntax)
diff --git a/handlers/rdiff b/handlers/rdiff
index 4871d4e17d91102ea40c6f3e323eeb3d75ae6d86..6cbe6faf48ba8cc3a9a2687ede8931185a30af93 100644
--- a/handlers/rdiff
+++ b/handlers/rdiff
@@ -174,12 +174,14 @@ set -o noglob
 # TODO: order the includes and excludes
 # excludes
 for i in $exclude; do
+	i=`readlink -f $i`
 	str="${i//__star__/*}"
 	execstr="${execstr}--exclude '$str' "
 done
 # includes 
 for i in $include; do
 	[ "$i" != "/" ] || fatal "Sorry, you cannot use 'include = /'"
+	i=`readlink -f $i`
 	str="${i//__star__/*}"
 	execstr="${execstr}--include '$str' "
 done
@@ -188,7 +190,8 @@ done
 if [ $usevserver = yes ]; then
    for vserver in $vsnames; do
       for vi in $vsinclude; do
-	 str="${vi//__star__/*}"
+      	 i=`readlink -f $VROOTDIR/$vserver$vi`
+	 str="${i//__star__/*}"
 	 execstr="${execstr}--include '$VROOTDIR/$vserver$str' "
       done
    done