SCORM Lab · error library

Initialize called twice in the same launch

SCORM Error 101: LMS was already initialized!

The course opened its SCORM session twice. "LMS was already initialized!" is the runtime's own diagnostic for a second Initialize call, not custom course text.

What it means

SCORM expects exactly one successful (LMS)Initialize per launch. A second call while the session is already open is rejected: it returns false and sets error 101 (General Exception) with that literal diagnostic. The session the FIRST call opened is unaffected — but whatever code path made the second call now believes initialization failed, which is usually where the visible symptom starts.

Which authoring tools produce it

Almost always two pieces of code both trying to own session start: a wrapper injected for API discovery (a "boot" script) alongside the authoring tool's own generated runtime — Storyline, Captivate, iSpring, Adapt and Rise all call Initialize themselves on player load. Also seen when a course is embedded inside another SCO's iframe and both layers initialize, or when a single-page course reloads its runtime script on an in-course navigation.

How to confirm it in SCORM Lab

Open the Transcript tab and look for two LMSInitialize (or Initialize) rows against the same scoId — the second shows result false and err 101, with the diagnostic text above when expanded. If the package has multiple SCOs, check the scoId column: two Initialize calls within ONE SCO’s launch is the bug; one per SCO across different SCOs is normal.

The fix

Decide which layer owns session lifecycle and let only that one call Initialize. If a wrapper is injected around the authoring tool's native output, either drop the wrapper's own call (let the tool's runtime own it) or configure the tool not to auto-initialize (let the wrapper own it) — check which is actually driving completion/scoring before removing either, since the fix is picking ONE owner, not deleting a call at random.

Worth knowing

A fresh Initialize from a DIFFERENT SCO after the previous one Terminated is ordinary multi-SCO behaviour, not this bug. This is specifically a duplicate call within the same SCO's launch.

Open the package in SCORM Lab to see this error fire in the Transcript or Console tab. It runs in your browser, and nothing is uploaded unless you choose to share it.

Still stuck after the fix? Bring the package to a SCORM consult.