diff --git a/compiler/options.pas b/compiler/options.pas
index d2bafb1f71..e5b79664a3 100644
--- a/compiler/options.pas
+++ b/compiler/options.pas
@@ -2678,7 +2678,7 @@ end;
 procedure TOption.checkoptionscompatibility;
 begin
   if (paratargetdbg in [dbg_dwarf2,dbg_dwarf3]) and
-     not(target_info.system in systems_darwin) then
+     not(target_info.system in (systems_darwin+[system_i8086_msdos])) then
     begin
       { smartlink creation does not yet work with DWARF
         debug info on most targets, but it works in internal assembler }
diff --git a/compiler/scandir.pas b/compiler/scandir.pas
index ae70de55d7..da1b370f10 100644
--- a/compiler/scandir.pas
+++ b/compiler/scandir.pas
@@ -1146,7 +1146,7 @@ unit scandir;
       begin
         do_moduleswitch(cs_create_smart);
         if (paratargetdbg in [dbg_dwarf2,dbg_dwarf3]) and
-            not(target_info.system in systems_darwin) and
+            not(target_info.system in (systems_darwin+[system_i8086_msdos])) and
             { smart linking does not yet work with DWARF debug info on most targets }
             (cs_create_smart in current_settings.moduleswitches) and
             not (af_outputbinary in target_asm.flags) then