diff --git a/src/licDump.ml b/src/licDump.ml
index 5761b60145880b8e0b39f4ba743021ca289bd1f5..30572e33355319c61cbedec2ba98acf7e84e13a1 100644
--- a/src/licDump.ml
+++ b/src/licDump.ml
@@ -1,4 +1,4 @@
-(** Time-stamp: <modified the 05/02/2009 (at 15:01) by Erwan Jahier> *)
+(** Time-stamp: <modified the 05/02/2009 (at 16:42) by Erwan Jahier> *)
 
 open Printf
 open Lxm
@@ -497,8 +497,17 @@ and (const_decl: Ident.long -> Eff.const -> string) =
 and (node_of_node_exp_eff: Eff.node_exp -> string) =
   fun neff -> 
     wrap_long_profile (
-      (if neff.def_eff = ExternEff && not (!Global.lv4) then "extern " else "") ^
-        (if neff.has_mem_eff then "node " else "function ") ^
+      (if
+         neff.def_eff = ExternEff 
+         && not (!Global.lv4) (* no extern kwd in v4... *)
+       then "extern " 
+       else "") ^
+        (if !Global.lv4 then
+           (* nodeand function does not have the same meaning in v4... *)
+           (if neff.def_eff = ExternEff then "function " else "node ")
+         else 
+           (if neff.has_mem_eff  then "node " else "function ") 
+        ) ^
         (string_of_node_key_rec neff.node_key_eff) ^
         (profile_of_node_exp_eff neff)) ^ 
       (match neff.def_eff with