Hi, > The service program is being bound with the default *CALLER activation > group flag. I can step right from the COBOL into the C code, watch the > status variable get set non-zero, step through the return statement, and > verify that return-code still == 0 when I pop back out into the COBOL > side. Is the return value "char" or "unsigned char" by any chance? We're actually having a discussion on the RPG mailing list right now about 1-byte return values, and how they're handled differently in different languages. RPG and COBOL handle it one way, C and CL handle it a different way. Is this what's happening to you?