Index: execute.cpp
===================================================================
--- execute.cpp	(revision 7052)
+++ execute.cpp	(working copy)
@@ -907,9 +907,15 @@
 			{
 				Silent = true;
 			}
-			DirectRun = true;
+			if (wcspbrk(CmdStr, L"&<>|") == nullptr)
+				DirectRun = true;
 			SeparateWindow = true;
 		}
+		else if (dwSubSystem == IMAGE_SUBSYSTEM_WINDOWS_CUI && !DirectRun)
+		{
+			if (wcspbrk(CmdStr, L"&<>|") == nullptr)
+				DirectRun = true;
+		}
 	}
 
 	bool Visible=false;
