diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 3a2ff2e3ea36577107a84634f9f3c63dfd503c7f..805c5e008b18de533daf662c1ada9d7eceeef247 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,10 @@
+2004-12-03  Tom Tromey  <tromey@redhat.com>
+
+	* lang.c (flag_new_verifier): Define.
+	(java_post_options): Set flag_new_verifier if indirect dispatch
+	is being used.
+	* lang.opt (fnew-verifier): Removed.
+
 2004-12-03  Tom Tromey  <tromey@redhat.com>
 
 	PR bootstrap/14614:
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index bcf4e45b4bb98affa978cbad1f9beed9b4a28a4e..b89bdf9b6d80dcc20e962195b73c18bb531248ae 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -139,6 +139,9 @@ int flag_deprecated = 1;
 /* Don't attempt to verify invocations.  */
 int flag_verify_invocations = 0; 
 
+/* True if the new bytecode verifier should be used.  */
+int flag_new_verifier = 0;
+
 /* When nonzero, print extra version information.  */
 static int v_flag = 0;
 
@@ -608,6 +611,12 @@ java_post_options (const char **pfilename)
      must always verify everything.  */
   if (! flag_indirect_dispatch)
     flag_verify_invocations = true;
+  else
+    {
+      /* If we are using indirect dispatch, then we want the new
+	 verifier as well.  */
+      flag_new_verifier = 1;
+    }
 
   /* Open input file.  */
 
diff --git a/gcc/java/lang.opt b/gcc/java/lang.opt
index 644bd5be2e7939d0899821f1f7fac8e2ff203a49..0e4ffcfd994225590043b009880cdd9ffd19508a 100644
--- a/gcc/java/lang.opt
+++ b/gcc/java/lang.opt
@@ -176,9 +176,5 @@ fuse-divide-subroutine
 Java Var(flag_use_divide_subroutine) Init(1)
 Call a library routine to do integer divisions
 
-fnew-verifier
-Java Var(flag_new_verifier)
-Enable the new bytecode verifier
-
 version
 Java