diff --git a/gcc/cobol/genmath.cc b/gcc/cobol/genmath.cc
index bc2175a76bd2ef6f11729ad0cc7408d6cc7c93f8..b9c7f741b53ffe65e6ed99e0a5cd8f20ac6d5ec7 100644
--- a/gcc/cobol/genmath.cc
+++ b/gcc/cobol/genmath.cc
@@ -101,6 +101,7 @@ static void
 set_up_arithmetic_error_handler(cbl_label_t *error,
                                 cbl_label_t *not_error)
   {
+  Analyze();
   // There might, or might not, be error and/or not_error labels:
   set_up_arith_error_label(error);
   set_up_arith_error_label(not_error);
@@ -276,6 +277,7 @@ arithmetic_error_handler( cbl_label_t *error,
                           cbl_label_t *not_error,
                           tree compute_error) // Pointer to in
   {
+  Analyze();
   if( error )
     {
     // We had an ON SIZE ERROR phrase