Initialize and Call

I've set up a very simple Console Application project in Visual Studio running Visual COBOL 2.2. Program1 initializes a group level redefine and then passes it to Program2. In Program2, it appears that the field within the group that was not used in Program1 was not actually initialized. Why would this be?

I expect the second display in Program2 to show PROGRAM2, FIELD-2B is empty. However, it shows the field has the value "ST" unless the second display in Program1 is uncommented.

PROGRAM-ID. PROGRAM1.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 GROUP-1.

02 FIELD-1 PIC X(4).

01 GROUP-2 REDEFINES GROUP-1.

02 FIELD-2A PIC X(2).

02 FIELD-2B PIC X(2).

PROCEDURE DIVISION.

MOVE "TEST" TO GROUP-1.

INITIALIZE GROUP-2.

DISPLAY "PROGRAM1, FIELD-2A: " FIELD-2A.

* Uncomment the following display to see FIELD-2A passed to PROGRAM2 initialized

* DISPLAY "PROGRAM1, FIELD-2A: " FIELD-2B.

CALL "PROGRAM2" USING GROUP-1.

GOBACK.

 

PROGRAM-ID. PROGRAM2.

DATA DIVISION.

WORKING-STORAGE SECTION.

LINKAGE SECTION.

01 GROUP-1.

02 FIELD-1 PIC X(4).

01 GROUP-2 REDEFINES GROUP-1.

02 FIELD-2A PIC X(2).

02 FIELD-2B PIC X(2).

PROCEDURE DIVISION USING GROUP-2.

DISPLAY "PROGRAM2, FIELD-2A: " FIELD-2A.

DISPLAY "PROGRAM2, FIELD-2B: " FIELD-2B.

GOBACK.