diff --git a/xbps-src/shutils/metadata.sh b/xbps-src/shutils/metadata.sh
index e0fa78e3e8b..0337b28046b 100644
--- a/xbps-src/shutils/metadata.sh
+++ b/xbps-src/shutils/metadata.sh
@@ -191,7 +191,8 @@ _EOF
echo "target" >> $TMPFPLIST
lnk=$(readlink -f "$f"|sed -e "s|${DESTDIR}||")
if [ -z "$lnk" -o "$lnk" = "" ]; then
- lnk=$(readlink "$f"|sed -e "s|${DESTDIR}||")
+ rellnk=$(readlink "$f")
+ lnk=$(readlink -f $(dirname $f)/$rellnk|sed -e "s|${DESTDIR}||")
fi
echo "$lnk" >> $TMPFPLIST
echo "" >> $TMPFPLIST