diff --git a/src/client/SaveInfo.h b/src/client/SaveInfo.h
index 18f75932d..3788348f2 100644
--- a/src/client/SaveInfo.h
+++ b/src/client/SaveInfo.h
@@ -7,6 +7,10 @@
 #include <cstdlib>
 #include <iostream>
 
+#ifdef GetUserName
+# undef GetUserName // dammit windows
+#endif
+
 class GameSave;
 
 class SaveInfo
diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp
index 4366e8dcd..65d888f39 100644
--- a/src/gui/game/GameController.cpp
+++ b/src/gui/game/GameController.cpp
@@ -39,6 +39,10 @@
 #endif
 #include "lua/LuaEvents.h"
 
+#ifdef GetUserName
+# undef GetUserName // dammit windows
+#endif
+
 using namespace std;
 
 class GameController::SearchCallback: public ControllerCallback
diff --git a/src/gui/game/GameView.cpp b/src/gui/game/GameView.cpp
index 9162828cc..11893e761 100644
--- a/src/gui/game/GameView.cpp
+++ b/src/gui/game/GameView.cpp
@@ -22,6 +22,9 @@
 #include "simulation/SaveRenderer.h"
 #include "simulation/SimulationData.h"
 
+#ifdef GetUserName
+# undef GetUserName // dammit windows
+#endif
 
 class SplitButton;
 class SplitButtonAction
diff --git a/src/gui/preview/PreviewView.cpp b/src/gui/preview/PreviewView.cpp
index b6fd939be..2acef1eae 100644
--- a/src/gui/preview/PreviewView.cpp
+++ b/src/gui/preview/PreviewView.cpp
@@ -17,6 +17,10 @@
 #include "gui/dialogues/ErrorMessage.h"
 #include "common/tpt-rand.h"
 
+#ifdef GetUserName
+# undef GetUserName // dammit windows
+#endif
+
 class PreviewView::LoginAction: public ui::ButtonAction
 {
 	PreviewView * v;
diff --git a/src/gui/search/SearchView.cpp b/src/gui/search/SearchView.cpp
index ee08a8208..d1098cc86 100644
--- a/src/gui/search/SearchView.cpp
+++ b/src/gui/search/SearchView.cpp
@@ -11,6 +11,10 @@
 #include "Format.h"
 #include "PowderToy.h"
 
+#ifdef GetUserName
+# undef GetUserName // dammit windows
+#endif
+
 SearchView::SearchView():
 	ui::Window(ui::Point(0, 0), ui::Point(WINDOWW, WINDOWH)),
 	c(NULL),