Re-undo commit 11966 (which is the fix for #5325 that caused #5578) to be synchronized with 4.01 and have a safe trunk.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13860 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02