diff --git a/client/GUIClasses.cpp b/client/GUIClasses.cpp
index 9ecbe2485..7f6109274 100644
--- a/client/GUIClasses.cpp
+++ b/client/GUIClasses.cpp
@@ -944,6 +944,7 @@ SDL_Surface * SComponent::setSurface(std:: string defname, int imagepos)
 	img = def->ourImages[imagepos].bitmap;
 	img->refcount++;//to preserve surface whed def is deleted
 	delete def;
+	return img;
 }
 
 void SComponent::show(SDL_Surface * to)
diff --git a/client/Graphics.h b/client/Graphics.h
index 0912ce6f5..eb6ddfa44 100644
--- a/client/Graphics.h
+++ b/client/Graphics.h
@@ -1,7 +1,6 @@
 #ifndef __GRAPHICS_H__
 #define __GRAPHICS_H__
 
-#include <SDL_ttf.h>
 #include "../global.h"
 #include "FontBase.h"
 #include "GUIBase.h"
@@ -25,6 +24,7 @@ class CHeroClass;
 struct SDL_Color;
 struct InfoAboutHero;
 struct InfoAboutTown;
+typedef struct _TTF_Font TTF_Font; //from SDL_ttf.h
 
 class Graphics
 {
diff --git a/server/CGameHandler.cpp b/server/CGameHandler.cpp
index 58039b580..c94f948e0 100644
--- a/server/CGameHandler.cpp
+++ b/server/CGameHandler.cpp
@@ -4409,7 +4409,7 @@ void CGameHandler::handleTownEvents(CGTownInstance * town, NewTurn &n)
 				{
 					int was = n.res[player][i];
 					n.res[player][i] += ev->resources[i];
-					n.res[player][i] = std::max(n.res[player][i], 0);
+					n.res[player][i] = std::max<si32>(n.res[player][i], 0);
 
 					if(pinfo->resources[i] != n.res[player][i]) //if non-zero res change
 						iw.components.push_back(Component(Component::RESOURCE,i,n.res[player][i]-was,0));