diff --git a/fs/reiserfs/dir.c b/fs/reiserfs/dir.c
index 66c53b642a880a1da6bf70c7d85a844dd18cbcea..6c2d136561cbd5db121285d97ee335fdf20db081 100644
--- a/fs/reiserfs/dir.c
+++ b/fs/reiserfs/dir.c
@@ -204,6 +204,8 @@ int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent,
 				next_pos = deh_offset(deh) + 1;
 
 				if (item_moved(&tmp_ih, &path_to_entry)) {
+					set_cpu_key_k_offset(&pos_key,
+							     next_pos);
 					goto research;
 				}
 			}	/* for */