diff --git a/src/settings.h b/src/settings.h
index af010fe06f48559f1e30c6a6bf1c2a0d99cd64b4..4bc22eaa1e08f47682108872b272a7790dc246d4 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -78,8 +78,8 @@ class Settings
 		
 		std::string trimmedline = trim(line);
 		
-		// Ignore comments
-		if(trimmedline[0] == '#')
+		// Ignore empty lines and comments
+		if(trimmedline.size() == 0 || trimmedline[0] == '#')
 			return true;
 
 		//infostream<<"trimmedline=\""<<trimmedline<<"\""<<std::endl;
@@ -189,8 +189,8 @@ class Settings
 		if(is.eof() == false)
 			line_end = "\n";
 		
-		// Ignore comments
-		if(trimmedline[0] == '#')
+		// Ignore empty lines and comments
+		if(trimmedline.size() == 0 || trimmedline[0] == '#')
 		{
 			dst.push_back(line+line_end);
 			return true;
diff --git a/src/tile.cpp b/src/tile.cpp
index b6abc5427964f6139f43e081a5127d781b8cc7d7..bf0e264c6424ad09e02e8cf2e516481d13b3241a 100644
--- a/src/tile.cpp
+++ b/src/tile.cpp
@@ -1082,7 +1082,7 @@ bool generate_image(std::string part_of_name, video::IImage *& baseimg,
 	assert(driver);
 
 	// Stuff starting with [ are special commands
-	if(part_of_name[0] != '[')
+	if(part_of_name.size() == 0 || part_of_name[0] != '[')
 	{
 		video::IImage *image = sourcecache->getOrLoad(part_of_name, device);
 
diff --git a/src/utility.h b/src/utility.h
index 97f902b995f8ee8699f1712a00fa1861a6923e67..4e469db8956c9092b4dc90552fd333a09eddeb19 100644
--- a/src/utility.h
+++ b/src/utility.h
@@ -967,7 +967,7 @@ inline bool is_yes(const std::string &s)
 	return false;
 }
 
-inline s32 stoi(const std::string &s, s32 min, s32 max)
+inline s32 mystoi(const std::string &s, s32 min, s32 max)
 {
 	s32 i = atoi(s.c_str());
 	if(i < min)
@@ -979,19 +979,19 @@ inline s32 stoi(const std::string &s, s32 min, s32 max)
 
 
 // MSVC2010 includes it's own versions of these
-#if !defined(_MSC_VER) || _MSC_VER < 1600
+//#if !defined(_MSC_VER) || _MSC_VER < 1600
 
-inline s32 stoi(std::string s)
+inline s32 mystoi(std::string s)
 {
 	return atoi(s.c_str());
 }
 
-inline s32 stoi(std::wstring s)
+inline s32 mystoi(std::wstring s)
 {
 	return atoi(wide_to_narrow(s).c_str());
 }
 
-inline float stof(std::string s)
+inline float mystof(std::string s)
 {
 	float f;
 	std::istringstream ss(s);
@@ -999,7 +999,10 @@ inline float stof(std::string s)
 	return f;
 }
 
-#endif
+//#endif
+
+#define stoi mystoi
+#define stof mystof
 
 inline std::string itos(s32 i)
 {