int m17n__shell_initialized;
 int m17n__gui_initialized;
 
-void *(*mdatabase__finder) (MSymbol tag1, MSymbol tag2,
-                          MSymbol tag3, MSymbol tag4);
-void *(*mdatabase__loader) (void *);
-
 int mdebug__flags[MDEBUG_MAX];
 FILE *mdebug__output;
 
   if  (mchartable__init () < 0)
     goto err;
   MDEBUG_PRINT_TIME ("INIT", (stderr, " to initialize chartable module."));
-  if (mtext__init () < 0)
-    goto err;
-  if (mtext__prop_init () < 0)
+  if (mtext__init () < 0 || mtext__prop_init () < 0)
     goto err;
   MDEBUG_PRINT_TIME ("INIT", (stderr, " to initialize mtext module."));
-
-  mdatabase__finder = NULL;
-  mdatabase__loader = NULL;
+  if (mdatabase__init () < 0)
+    goto err;
+  MDEBUG_PRINT_TIME ("INIT", (stderr, " to initialize database module."));
 
 #if ENABLE_NLS
   bindtextdomain ("m17n-lib", GETTEXTDIR);