diff --git a/classes/populate_b2qt_sdk.bbclass b/classes/populate_b2qt_sdk.bbclass
index e09743bc87ae43904784c404b4f634b0eaeec150..a61d62564c7da78f5074ba837658726d86c274de 100644
--- a/classes/populate_b2qt_sdk.bbclass
+++ b/classes/populate_b2qt_sdk.bbclass
@@ -21,23 +21,33 @@
 
 inherit populate_sdk
 
-POPULATE_SDK_POST_HOST_COMMAND_append_sdkmingw32 = " replace_host_symlink;"
-
-replace_host_symlink() {
-        for SOURCE in `find ${SDK_OUTPUT}/${SDKPATHNATIVE} -type l`
+replace_sysroot_symlink() {
+        SYMLINK_SYSROOT=$1
+        for SOURCE in `find ${SYMLINK_SYSROOT} -type l`
         do
-                TARGET=`readlink -f "${SOURCE}"`
-                if [ -e ${TARGET} ]; then
-                        rm "${SOURCE}"
-                        cp -f "${TARGET}" "${SOURCE}"
+                TARGET=`readlink -m "${SOURCE}"`
+                #check whether TARGET is inside the sysroot when not prepend the sysroot
+                TARGET=`echo ${TARGET} | grep "^${SYMLINK_SYSROOT}" || echo ${SYMLINK_SYSROOT}${TARGET}`
+                rm "${SOURCE}"
+                if [ -d "${TARGET}" ]; then
+                        cp -r "${TARGET}" "${SOURCE}"
+                elif [ -f "${TARGET}" ]; then
+                        cp "${TARGET}" "${SOURCE}"
+                elif [ -e "${TARGET}" ]; then
+                        touch "${SOURCE}"
                 fi
         done
 }
 
 fakeroot tar_sdk_sdkmingw32() {
+        replace_sysroot_symlink ${SDK_OUTPUT}${SDKTARGETSYSROOT}
+        replace_sysroot_symlink ${SDK_OUTPUT}${SDKPATHNATIVE}
         # Package it up
         mkdir -p ${SDK_DEPLOY}
         cd ${SDK_OUTPUT}/${SDKPATH}
+        if [ -e ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z ]; then
+                rm ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z
+        fi
         7z a ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z sysroots
 }