diff --git a/lustre/utils/mkfs_lustre.c b/lustre/utils/mkfs_lustre.c
index a2c40213383560cc226d747dc6f7c1c5f86bdb46..36cb2dd17bd575823ed6888932d45b1eb4b7c5d4 100644
--- a/lustre/utils/mkfs_lustre.c
+++ b/lustre/utils/mkfs_lustre.c
@@ -523,9 +523,15 @@ int make_lustre_backfs(struct mkfs_opts *mop)
                         strcat(mop->mo_mkfsopts, " -q");
                 }
 
-                /* Enable hashed b-tree directory lookup in large dirs bz6224 */
                 if (strstr(mop->mo_mkfsopts, "-O") == NULL) {
+                        /* Enable hashed b-tree directory lookup in large dirs
+                           bz6224 */
                         strcat(mop->mo_mkfsopts, " -O dir_index");
+
+                        /* ldiskfs2: do not initialize all groups. */
+                        if (mop->mo_ldd.ldd_mount_type == LDD_MT_LDISKFS2) {
+                                strcat(mop->mo_mkfsopts, ",uninit_groups");
+                        }
                 }
 
                 /* Allow reformat of full devices (as opposed to