You remove a handler from the handler chain by passing an iostdreq to the device ind_remhandler set in io_command and a pointer to the interrupt structure used to add the handler. struct Interrupt *InputHandler; struct IOStdReq *InputIO; InputIO->io_Data=(APTR)InputHandler; /* Which handler to REM */ InputIO->io_Command=IND_REMHANDLER; /* The REM command */ DoIO((struct IORequest *)InputIO); /* Send the command */