diff --git a/meta/recipes-core/update-rc.d/update-rc.d/check-if-symlinks-are-valid.patch b/meta/recipes-core/update-rc.d/update-rc.d/check-if-symlinks-are-valid.patch
new file mode 100644
index 0000000..4476e91
--- /dev/null
+++ b/meta/recipes-core/update-rc.d/update-rc.d/check-if-symlinks-are-valid.patch
@@ -0,0 +1,53 @@
+Check if symlinks are valid
+
+When using root option and $initd/$bn is a symlink, the script would fail because
+the symlink points to a path on target. For example:
+
+/path/to/target/rootfs/etc/init.d/syslog -> /etc/init.d/syslog.busybox
+
+Hence, [ -f /path/to/target/rootfs/etc/init.d/syslog ] condition would return
+false.
+
+This patch adds the posibility to check whether the file the symlink points to
+actually exists in rootfs path and then continue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> 
+
+Index: git/update-rc.d
+===================================================================
+--- git.orig/update-rc.d	2013-01-16 12:12:58.349814356 +0200
++++ git/update-rc.d	2013-01-16 13:02:42.490864939 +0200
+@@ -147,13 +147,29 @@
+ bn=$1
+ shift
+ 
++sn=$initd/$bn
++if [ -L "$sn" -a -n $root ]; then
++	readlink=$(which readlink)
++
++	if [ -n $readlink ]; then
++		sn=$($readlink "$sn")
++		case "$sn" in
++			/*) sn=${root}${sn} ;;
++			*)  sn=$initd/$sn ;;
++		esac
++	else
++		echo "update-rc.d: readlink tool not present, cannot check whether \
++				$sn symlink points to a valid file." >&2
++	fi
++fi
++
+ if [ $1 != "remove" ]; then
+-	if [ ! -f "$initd/$bn" ]; then
++	if [ ! -f "$sn" ]; then
+ 		echo "update-rc.d: $initd/$bn: file does not exist" >&2
+ 		exit 1
+ 	fi
+ else
+-	if [ -f "$initd/$bn" ]; then
++	if [ -f "$sn" ]; then
+ 		if [ $force -eq 1 ]; then
+ 			echo "update-rc.d: $initd/$bn exists during rc.d purge (continuing)" >&2
+ 		else
diff --git a/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb b/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb
index 0aac5fa..bfcbd97 100644
--- a/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb
+++ b/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb
@@ -5,13 +5,15 @@ SECTION = "base"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=148a48321b10eb37c1fa3ee02b940a75"
 
-PR = "r4"
+PR = "r5"
 
 # Revision corresponding to tag update-rc.d_0.7
 SRCREV = "eca680ddf28d024954895f59a241a622dd575c11"
 
 SRC_URI = "git://github.com/philb/update-rc.d.git;protocol=git \
-           file://add-verbose.patch;"
+           file://add-verbose.patch \
+           file://check-if-symlinks-are-valid.patch \
+          "
 
 S = "${WORKDIR}/git"
 
