HExtlib.mkdir dir
   in
   (* generate annobj, ids_to_inner_sorts and ids_to_inner_types *)
-  let annobj, innertypes =
+  let annobj, innertypes, ids_to_inner_sorts =
    if Helm_registry.get_bool "matita.system" then
-    let annobj, _, _,  ids_to_inner_sorts, ids_to_inner_types, _, _ =
+    let annobj, _, _, ids_to_inner_sorts, ids_to_inner_types, _, _ =
      Cic2acic.acic_object_of_cic_object obj 
     in
     let innertypesxml = 
      Cic2Xml.print_inner_types
       uri ~ids_to_inner_sorts ~ids_to_inner_types ~ask_dtd_to_the_getter:false
     in
-    annobj, Some innertypesxml
+    annobj, Some innertypesxml, Some ids_to_inner_sorts
    else 
     let annobj = Cic2acic.plain_acic_object_of_cic_object obj in  
-    annobj, None 
+    annobj, None, None 
   in 
   (* prepare XML *)
   let xml, bodyxml =
    Cic2Xml.print_object
-    uri ?ids_to_inner_sorts:None ~ask_dtd_to_the_getter:false annobj 
+    uri ?ids_to_inner_sorts ~ask_dtd_to_the_getter:false annobj 
   in    
   let xmlpath, xmlbodypath, innertypespath, bodyuri, innertypesuri, 
       xmlunivgraphpath, univgraphuri = 
 
   List.iter (fun key, value -> Helm_registry.set ~key ~value)
 
 let fill_registry init_status =
-  wants [ ConfigurationFile ] init_status;
   if not (already_configured [ Registry ] init_status) then begin
     set_registry_values registry_defaults;
     Registry :: init_status
 
 let parse_cmdline init_status =
   if not (already_configured [CmdLine] init_status) then begin
+    wants [Registry] init_status;
     let includes = ref [] in
     let default_includes = [ 
       ".";
   exit 1
 
 let conf_components = 
-  [ parse_cmdline; load_configuration; fill_registry ]
+  [ load_configuration; fill_registry; parse_cmdline]
 
 let other_components =
   [ initialize_makelib; initialize_db; initialize_environment ]