diff --git a/PDP11/pdp11_io_lib.c b/PDP11/pdp11_io_lib.c index d6ee7161..84f9adfb 100644 --- a/PDP11/pdp11_io_lib.c +++ b/PDP11/pdp11_io_lib.c @@ -425,8 +425,11 @@ for (i = 0; i < (int32) dibp->lnt; i = i + 2) { /* create entries */ "Device %s address conflict with %s at 0%o\n", sim_dname (dptr), cdname, (int)dibp->ba); } - if ((dibp->rd == NULL) && (dibp->wr == NULL) && (dibp->vnum == 0)) + if ((dibp->rd == NULL) && (dibp->wr == NULL) && (dibp->vnum == 0)) { iodibp[idx] = NULL; /* deregister DIB */ + iodispR[idx] = NULL; /* and related dispatches */ + iodispW[idx] = NULL; + } else { if (dibp->rd) iodispR[idx] = dibp->rd; /* set rd dispatch */