diff --git a/src/kernel_internals/runtime/special_hooks.ml b/src/kernel_internals/runtime/special_hooks.ml
index ecc8203404c5851a32fa472c1d0f90221b95f444..adff0fd68e5b710f29d06c9513d2223638af00da 100644
--- a/src/kernel_internals/runtime/special_hooks.ml
+++ b/src/kernel_internals/runtime/special_hooks.ml
@@ -50,9 +50,11 @@ let print_config () =
   end
 let () = Cmdline.run_after_early_stage print_config
 
-let print_config get value () =
+let print_config ?(newline=false) get value () =
   if get () then begin
     Log.print_on_output (fun fmt -> Format.fprintf fmt "%s%!" value) ;
+    if newline
+    then Log.print_on_output (fun fmt -> Format.pp_print_newline fmt ());
     raise Cmdline.Exit
   end
 
@@ -62,10 +64,15 @@ let print_configl get value () =
     Log.print_on_output (fun fmt -> (Format.fprintf fmt "%s%!" (String.concat "\n" value))) ;
     raise Cmdline.Exit
   end
+
 let print_version =
   print_config Kernel.PrintVersion.get Fc_config.version_and_codename
 let () = Cmdline.run_after_early_stage print_version
 
+let print_version_newline =
+  print_config ~newline:true Kernel.Version.get Fc_config.version_and_codename
+let () = Cmdline.run_after_early_stage print_version_newline
+
 let print_sharepath = print_configl Kernel.PrintShare.get Fc_config.datadirs
 let () = Cmdline.run_after_early_stage print_sharepath
 
diff --git a/src/kernel_services/plugin_entry_points/kernel.ml b/src/kernel_services/plugin_entry_points/kernel.ml
index f0da071d53ff16ced72de0b46211f776c161683d..7e6044e5793d0145a1b8338e6df7c51a006315a2 100644
--- a/src/kernel_services/plugin_entry_points/kernel.ml
+++ b/src/kernel_services/plugin_entry_points/kernel.ml
@@ -358,6 +358,17 @@ module PrintConfig =
       let help = "print full config information"
     end)
 
+let () = Parameter_customize.set_group help
+let () = Parameter_customize.set_cmdline_stage Cmdline.Early
+let () = Parameter_customize.set_negative_option_name ""
+module Version =
+  False(struct
+    let option_name = "-version"
+    let module_name = "Version"
+    let help = "print the Frama-C version"
+  end)
+let () = Version.add_aliases [ "-v"; "--version" ]
+
 let () = Parameter_customize.set_group help
 let () = Parameter_customize.set_cmdline_stage Cmdline.Early
 let () = Parameter_customize.set_negative_option_name ""
@@ -367,7 +378,6 @@ module PrintVersion =
     let module_name = "PrintVersion"
     let help = "print the Frama-C version"
   end)
-let () = PrintVersion.add_aliases [ "-v"; "-version" ; "--version" ]
 
 let () = Parameter_customize.set_group help
 let () = Parameter_customize.set_cmdline_stage Cmdline.Early
diff --git a/src/kernel_services/plugin_entry_points/kernel.mli b/src/kernel_services/plugin_entry_points/kernel.mli
index 15a26b10d975adf07b32a47e0a96a53bffd0f694..5bf72ac6614400dfd378fbca39d55a4c9b67699e 100644
--- a/src/kernel_services/plugin_entry_points/kernel.mli
+++ b/src/kernel_services/plugin_entry_points/kernel.mli
@@ -247,12 +247,15 @@ val checks: Cmdline.Group.t
 (** {2 Installation Information} *)
 (* ************************************************************************* *)
 
-module PrintConfig: Parameter_sig.Bool
-(** Behavior of option "-print-config" *)
+module Version: Parameter_sig.Bool
+(** Behavior of option "-version" *)
 
 module PrintVersion: Parameter_sig.Bool
 (** Behavior of option "-print-version" *)
 
+module PrintConfig: Parameter_sig.Bool
+(** Behavior of option "-print-config" *)
+
 module PrintShare: Parameter_sig.Bool
 (** Behavior of option "-print-share-path" *)