diff --git a/source/dub/generators/visuald.d b/source/dub/generators/visuald.d
index 3bf2bb4..579dde2 100644
--- a/source/dub/generators/visuald.d
+++ b/source/dub/generators/visuald.d
@@ -301,6 +301,7 @@
// FIXME: handle compiler options in an abstract way instead of searching for DMD specific flags
// debug and optimize setting
+ string[] special_flags = ["-w", "-debug", "-g", "-O", "-inline", "-release", "-unittest"];
ret.formattedWrite(" %s\n", btsettings.dflags.canFind("-g") ? "1" : "0");
ret.formattedWrite(" %s\n", btsettings.dflags.canFind("-O") ? "1" : "0");
ret.formattedWrite(" %s\n", btsettings.dflags.canFind("-inline") ? "1" : "0");
@@ -322,7 +323,7 @@
// Compiler?
string compiler = "$(DMDInstallDir)windows\\bin\\dmd.exe";
- string dflags = join(getSettings!"dflags"(), " ");
+ string dflags = getSettings!"dflags"().filter!(f => !special_flags.canFind(f)).join(" ");
ret.formattedWrite("
%s
%s", compiler, dflags);