diff --git a/CHANGELOG b/CHANGELOG
index 28e19b99e129556de12ef46496b98851315fa46e..28352519df899f0f5401875540648df5e0b222a8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Fix problem with symbolic links in JFFS2 code.
+
 * Use linker ASSERT statement to prevent undetected overlapping of
   sections on PPChameleon board; other boards might use this, too.
 
diff --git a/fs/jffs2/jffs2_1pass.c b/fs/jffs2/jffs2_1pass.c
index f753a6b70a63e689b1b3eed6af3bded2a2440f06..f3a9c53997cd8af9947742b98248ab4ba9206e09 100644
--- a/fs/jffs2/jffs2_1pass.c
+++ b/fs/jffs2/jffs2_1pass.c
@@ -760,7 +760,11 @@ jffs2_1pass_list_inodes(struct b_lists * pL, u32 pino)
 				if (jNode->ino == jDir->ino && jNode->version >= i_version) {
 					if (i)
 						put_fl_mem(i);
-					i = get_fl_mem(b2->offset, sizeof(*i), NULL);
+
+					if (jDir->type == DT_LNK)
+						i = get_node_mem(b2->offset);
+					else
+						i = get_fl_mem(b2->offset, sizeof(*i), NULL);
 				}
 				b2 = b2->next;
 			}