diff --git a/gcc/cobol/genapi.cc b/gcc/cobol/genapi.cc
index 656cfc3c3a20bba2cc82f0d5208a7006169e5ccb..b83762d934b14ac19f7787672ad56b72f1a922e1 100644
--- a/gcc/cobol/genapi.cc
+++ b/gcc/cobol/genapi.cc
@@ -14890,6 +14890,7 @@ psa_new_var_decl(cbl_field_t *new_var, const char *external_record_base)
       new_var_decl = gg_define_variable(  cblc_field_type_node,
                                           base_name,
                                           vs_external);
+      SET_DECL_MODE(new_var_decl, BLKmode);
       }
     else if( new_var->attr & (temporary_e | intermediate_e)
               && new_var->type != FldLiteralA
@@ -14898,12 +14899,14 @@ psa_new_var_decl(cbl_field_t *new_var, const char *external_record_base)
       new_var_decl = gg_define_variable(  cblc_field_type_node,
                                           base_name,
                                           VS_REUSE);
+      SET_DECL_MODE(new_var_decl, BLKmode);
       }
     else
       {
       new_var_decl = gg_define_variable(  cblc_field_type_node,
                                           base_name,
                                           vs_static);
+      SET_DECL_MODE(new_var_decl, BLKmode);
       }
     }
   return new_var_decl;