     {
         _persistNavigatorState = value;
 
-        // Register the necessary class aliases and load the shared object
-        if (_persistNavigatorState && !_persistenceInitialized)
+        // If this flag is set to true at runtime, we will need to initialize
+        // the persistence manager if it hasn't been already
+        if (initialized && _persistNavigatorState && !_persistenceInitialized)
             initializePersistenceManager();
     }
     

        registerClassAlias("ViewDescriptor", ViewDescriptor);
        registerClassAlias("NavigationStack", NavigationStack);

        // Initialize and load the persisted data
        persistenceManager.load();

        _persistenceInitialized = true;

        
        if (persistNavigatorState)
        {
            initializePersistenceManager();
            
            // Dispatch event for loading persistence data
            var eventDispatched:Boolean = true;
            if (hasEventListener(FlexEvent.NAVIGATOR_STATE_LOADING))
