diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 944e4285711fb4f461a3a572b08cbdeacd2c0c89..1d37a4a8f31632eb95e85c4fcd86a8dac0cfa424 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -38,6 +38,20 @@ tbd Sun Microsystems, Inc.
 	* Output of lfs quota has been made less detailed by default,
 	  old (verbose) output can be obtained by using -v option.
 
+Severity   : minor
+Bugzilla   : 16583
+Frequency  : rare
+Description: avoid messages about idr_remove called for id  which is not allocated. 
+Details    : Move assigment s_dev for clustered nfs to end of initialization, for avoid
+             problem with error handling.
+
+Severity   : minor
+Bugzilla   : 16583
+Frequency  : rare
+Description: avoid messages about idr_remove called for id  which is not allocated. 
+Details    : Move assigment s_dev for clustered nfs to end of initialization, for avoid
+             problem with error handling.
+
 Severity   : minor
 Bugzilla   : 16109
 Frequency  : rare
diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c
index 17d27aca637a8317b33e2f3f4ed3039878b30b58..08eb34fa36e1a0bb7ee85acca582a2e2871f0db5 100644
--- a/lustre/llite/llite_lib.c
+++ b/lustre/llite/llite_lib.c
@@ -286,14 +286,6 @@ static int client_common_fill_super(struct super_block *sb,
         if (data->ocd_connect_flags & OBD_CONNECT_JOIN)
                 sbi->ll_flags |= LL_SBI_JOIN;
 
-        sbi->ll_sdev_orig = sb->s_dev;
-        /* We set sb->s_dev equal on all lustre clients in order to support
-         * NFS export clustering.  NFSD requires that the FSID be the same
-         * on all clients. */
-        /* s_dev is also used in lt_compare() to compare two fs, but that is
-         * only a node-local comparison. */
-        sb->s_dev = get_uuid2int(sbi2mdc(sbi)->cl_target_uuid.uuid,
-                                 strlen(sbi2mdc(sbi)->cl_target_uuid.uuid));
         obd = class_name2obd(osc);
         if (!obd) {
                 CERROR("OSC %s: not setup or attached\n", osc);
@@ -453,6 +445,16 @@ static int client_common_fill_super(struct super_block *sb,
         if (data != NULL)
                 OBD_FREE(data, sizeof(*data));
         sb->s_root->d_op = &ll_d_root_ops;
+
+        sbi->ll_sdev_orig = sb->s_dev;
+        /* We set sb->s_dev equal on all lustre clients in order to support
+         * NFS export clustering.  NFSD requires that the FSID be the same
+         * on all clients. */
+        /* s_dev is also used in lt_compare() to compare two fs, but that is
+         * only a node-local comparison. */
+        sb->s_dev = get_uuid2int(sbi2mdc(sbi)->cl_target_uuid.uuid,
+                                 strlen(sbi2mdc(sbi)->cl_target_uuid.uuid));
+
         RETURN(err);
 
 out_root: