diff --git a/src/dos/dos_classes.cpp b/src/dos/dos_classes.cpp index dce39fbe..320a4069 100644 --- a/src/dos/dos_classes.cpp +++ b/src/dos/dos_classes.cpp @@ -162,8 +162,8 @@ void DOS_PSP::CopyFileTable(DOS_PSP* srcpsp,bool createchildpsp) for (Bit16u i=0;i<20;i++) { Bit8u handle = srcpsp->GetFileHandle(i); if(createchildpsp) - { //copy obeying not inherit flag. - if(Files[handle] && !(Files[handle]->flags & DOS_NOT_INHERIT)) + { //copy obeying not inherit flag.(but dont duplicate them) + if(Files[handle] && !(Files[handle]->flags & DOS_NOT_INHERIT) && (FindEntryByHandle(handle)==0xff)) { SetFileHandle(i,handle); }