diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 58558797de505c6b3c37eb8ff3513a04c6f8c221..761cf09e8f70249ddddc1e6471e42aff399ee264 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -24,6 +24,14 @@ tbd Sun Microsystems, Inc.
 	  	'tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV'.
 	  For more information, please refer to bugzilla 13904.
 
+Severity   : minor
+Frequency  : very rare
+Bugzilla   : 13380
+Description: MDT cannot be unmounted, reporting "Mount still busy"
+Details	   : Mountpoint references were being leaked during open reply
+	     reconstruction after an MDS restart.  Drop mountpoint reference
+	     in reconstruct_open() and free dentry reference also.
+
 Severity   : normal
 Bugzilla   : 15443
 Description: wait until IO finished before start new when do lock cancel.
diff --git a/lustre/mds/mds_open.c b/lustre/mds/mds_open.c
index 3750a0cd752ab968869091049972a270eaa3ee1c..b8c771aeb99805276214540f1049535e73614d74 100644
--- a/lustre/mds/mds_open.c
+++ b/lustre/mds/mds_open.c
@@ -619,11 +619,15 @@ static void reconstruct_open(struct mds_update_record *rec, int offset,
                 CERROR("Re-opened file \n");
                 mfd = mds_dentry_open(dchild, mds->mds_vfsmnt,
                                       rec->ur_flags & ~MDS_OPEN_TRUNC, req);
-                if (!mfd) {
-                        CERROR("mds: out of memory\n");
-                        GOTO(out_dput, req->rq_status = -ENOMEM);
+                mntput(mds->mds_vfsmnt);
+                if (IS_ERR(mfd)) {
+                        req->rq_status = PTR_ERR(mfd);
+                        mfd = NULL;
+                        CERROR("%s: opening inode "LPU64" failed: rc %d\n",
+                               req->rq_export->exp_obd->obd_name,
+                               (__u64)dchild->d_inode->i_ino, req->rq_status);
+                        GOTO(out_dput, req->rq_status);
                 }
-                put_child = 0;
         } else {
                 body->handle.cookie = mfd->mfd_handle.h_cookie;
                 CDEBUG(D_INODE, "resend mfd %p, cookie "LPX64"\n", mfd,