diff -up ./mozilla/security/nss/lib/nss/nssinit.c.747387part1 ./mozilla/security/nss/lib/nss/nssinit.c --- ./mozilla/security/nss/lib/nss/nssinit.c.747387part1 2011-10-19 17:41:09.148204402 -0700 +++ ./mozilla/security/nss/lib/nss/nssinit.c 2011-10-19 17:42:32.354416861 -0700 @@ -616,15 +616,19 @@ nss_Init(const char *configdir, const ch passwordRequired = pk11_password_required; } - /* we always try to initialize the modules */ - rv = nss_InitModules(configdir, certPrefix, keyPrefix, secmodName, + /* Skip the module init if we are already initted and we are trying + * to init with not noCertDB and noModDB */ + if (!(isReallyInitted && noCertDB && noModDB)) { + /* we always try to initialize the modules */ + rv = nss_InitModules(configdir, certPrefix, keyPrefix, secmodName, updateDir, updCertPrefix, updKeyPrefix, updateID, updateName, configName, configStrings, passwordRequired, readOnly, noCertDB, noModDB, forceOpen, optimizeSpace, (initContextPtr != NULL)); - if (rv != SECSuccess) { - goto loser; + if (rv != SECSuccess) { + goto loser; + } }