diff --git a/Code/Mantid/Build/CMake/WindowsSetup.cmake b/Code/Mantid/Build/CMake/WindowsSetup.cmake
index fe440c38ca758f3fef13d210de2818f122cf3661..2f6af0309442c786c718ed30385e5d2745cc9fc5 100644
--- a/Code/Mantid/Build/CMake/WindowsSetup.cmake
+++ b/Code/Mantid/Build/CMake/WindowsSetup.cmake
@@ -1,4 +1,4 @@
-###########################################################################
+##########################################################################
 # Set include and library directories so that CMake finds Third_Party
 ###########################################################################
 set ( CMAKE_INCLUDE_PATH "${THIRD_PARTY}/include" )
@@ -57,6 +57,8 @@ add_definitions ( -D_USE_MATH_DEFINES -DNOMINMAX )
 add_definitions ( -DGSL_DLL )
 add_definitions ( -DPOCO_NO_UNWINDOWS )
 
+set ( CONSOLE ON CACHE BOOL "Switch for enabling/disabling the console" )
+
 set ( BIN_DIR bin )
 set ( LIB_DIR ${BIN_DIR} )
 set ( PLUGINS_DIR plugins )
diff --git a/Code/Mantid/MantidPlot/CMakeLists.txt b/Code/Mantid/MantidPlot/CMakeLists.txt
index 0e0a0e08725bd4f6bdf2a1c39b570323e356111d..1760e7098017767d1211b7599c51b385212d87f6 100644
--- a/Code/Mantid/MantidPlot/CMakeLists.txt
+++ b/Code/Mantid/MantidPlot/CMakeLists.txt
@@ -694,6 +694,11 @@ set ( INC_FILES ${QTIPLOT_HDRS} ${MANTID_HDRS} )
 ###########################################################################
 if( WIN32 )
    set ( MANTID_RC_FILE icons/MantidPlotDesktop.rc )
+   if ( CONSOLE )
+     set ( WIN_CONSOLE )
+   else ()
+     set( WIN_CONSOLE WIN32 )
+   endif( CONSOLE )
 endif( WIN32 )
 
 if ( APPLE )
@@ -701,7 +706,7 @@ if ( APPLE )
   set_source_files_properties(MANTID_RC_FILE PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
 endif ()
 
-add_executable ( MantidPlot WIN32 MACOSX_BUNDLE ${SRC_FILES} ${INC_FILES} 
+add_executable ( MantidPlot ${WIN_CONSOLE} MACOSX_BUNDLE ${SRC_FILES} ${INC_FILES} 
                             ${MOCCED_FILES} ${UI_HDRS} ${RES_FILES} 
                             ${MANTID_RC_FILE}
 )
@@ -717,15 +722,13 @@ target_link_libraries ( MantidPlot
 )
 
 ###########################################################################
-# Console and entry point flags for Windows
+# Entry point flag for Windows to ensure we always link to standard main 
 ###########################################################################
 if( WIN32 )
-   set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE /ENTRY:mainCRTStartup" )
-   set_target_properties( MantidPlot PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE" )
-   set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE /ENTRY:mainCRTStartup" )
-   set_target_properties( MantidPlot PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE" )
-   set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup" )
-   set_target_properties( MantidPlot PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
+   set_target_properties( MantidPlot PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup" )
+   if ( CONSOLE )
+     set_target_properties( MantidPlot PROPERTIES COMPILE_DEFINITIONS "_CONSOLE" )
+   endif ( CONSOLE )
 endif( WIN32 )
 
 ###########################################################################