diff --git a/lustre/mdd/mdd_dir.c b/lustre/mdd/mdd_dir.c
index fa56fcdbd1505149ea2aa65fbf6c3044541af004..cb8423901c52020c9b605656e9d5f73f16477eb4 100644
--- a/lustre/mdd/mdd_dir.c
+++ b/lustre/mdd/mdd_dir.c
@@ -1930,7 +1930,7 @@ static int mdd_rename(const struct lu_env *env,
                 GOTO(cleanup, rc);
 
         /* "mv dir1 dir2" needs "dir1/.." link update */
-        if (is_dir) {
+        if (is_dir && mdd_sobj) {
                 rc = __mdd_index_delete(env, mdd_sobj, dotdot, is_dir, handle,
                                         mdd_object_capa(env, mdd_spobj));
                 if (rc)