+        if ( !node->GetData()->Init() )
+        {
+            // clean up already initialized modules - process in reverse order
+            wxModuleList::compatibility_iterator n;
+            for ( n = node->GetPrevious(); n; n = n->GetPrevious() )
+            {
+                n->GetData()->OnExit();
+            }
+
+            return FALSE;
+        }