I tried this on V5R1 and got the same results. Looking at the joblog the only thing that stood out was the mention on activation groups. So I did the following CRTCMOD call_c CRTCMOD dummyc then CRTPGM call_c actgrp(TEST) CRTPGM dummyc actgrp(test) the submitted both ways and it worked both times. since *NEW is the default on the actgroup I would assume that is why the problem occured. Why that is the case will have to be answered by someone WAY smarter than I. CEE0200 Information 10 05/02/02 11:24:21 QLEAWI QSYS *STMT CALL_C BDIETZ *STMT From module . . . . . . . . : QLEPM From procedure . . . . . . : Q LE leBdyEpilog Statement . . . . . . . . . : 1060 To module . . . . . . . . . : CALL_C To procedure . . . . . . . : _C_pep Statement . . . . . . . . . : *N Message . . . . : This job is about to end. Cause . . . . . : The job is being terminated because the job is capable of having multiple threads and the application has issued an exit(), abort() or their equivalent APIs, an exception has occurred and is not being handled, or a return from main() has occurred in a program that runs in a *NEW Activation Group. ------------------------- Bryan Dietz 3X Corporation 614-410-9205 ================== Do you have any ideas as to why this might be occurring and what I can do about it? This problem stops any C program from calling another C program via dynamic call in a multithread capable job. Regards, Simon Coulter.