diff --git a/lustre/osd/osd_handler.c b/lustre/osd/osd_handler.c
index 1844e6ced16860c2a261799402fdd44773620e05..ff60505c399072b1cf217697a6e760f530140850 100644
--- a/lustre/osd/osd_handler.c
+++ b/lustre/osd/osd_handler.c
@@ -2976,7 +2976,7 @@ static struct dt_it *osd_it_ea_init(const struct lu_env *env,
         struct osd_thread_info  *info = osd_oti_get(env);
         struct osd_it_ea        *it   = &info->oti_it_ea;
         struct lu_object        *lo   = &dt->do_lu;
-        struct dentry           *obj_dentry = &info->oti_obj_dentry;
+        struct dentry           *obj_dentry = &info->oti_it_dentry;
         ENTRY;
         LASSERT(lu_object_exists(lo));
 
diff --git a/lustre/osd/osd_internal.h b/lustre/osd/osd_internal.h
index 952754ace42e7df17cd45b3c5975ea9aab0e630e..8fd25f2737bdf2eb633718b7cff35bfa70991909 100644
--- a/lustre/osd/osd_internal.h
+++ b/lustre/osd/osd_internal.h
@@ -164,6 +164,9 @@ struct osd_thread_info {
         struct dentry          oti_obj_dentry;
         struct dentry          oti_child_dentry;
 
+        /** dentry for Iterator context. */
+        struct dentry          oti_it_dentry;
+
         struct lu_fid          oti_fid;
         struct osd_inode_id    oti_id;
         /*