We have written our own MQ CICS listener (Cobol pgm). This listener is a long running task that "gets" (non destructive) a message with a browse-first and continues to browse-next until the queue is empty and starts back at the beginning. It then dispatches to the real application by starting a CICS transaction that does the "get" desturctive. Our application is so fast that it starts back at the beginning and thinks it has a new message. How Can we differentiate that it is a not a new message, that the secondary application still has not "gotten" the message. We do have an internal ECB table that is passed to the 2nd program that "posts" when the message is retreived but it never gets to post on time.