diff --git a/src/components/GuiImage.cpp b/src/components/GuiImage.cpp
index a670bdcdf..40d33920b 100644
--- a/src/components/GuiImage.cpp
+++ b/src/components/GuiImage.cpp
@@ -15,8 +15,8 @@ GuiImage::GuiImage(int offsetX, int offsetY, std::string path, unsigned int maxW
 	mOffsetY = offsetY;
 
 	//default origin (center of image)
-	mOriginX = 0;
-	mOriginY = 0;
+	mOriginX = 0.5;
+	mOriginY = 0.5;
 
 	mTiled = false;
 
@@ -141,7 +141,7 @@ void GuiImage::setImage(std::string path)
 void GuiImage::updateRect()
 {
 	mRect.x = mOffsetX /*- mSurface->w*/ - (mSurface->w * mOriginX);
-	mRect.y = mOffsetY + (mSurface->h * mOriginY);
+	mRect.y = mOffsetY - (mSurface->h * mOriginY);
 	mRect.w = mSurface->w;
 	mRect.h = mSurface->h;
 }
diff --git a/src/components/GuiTheme.cpp b/src/components/GuiTheme.cpp
index cd73d3350..0c5e29ebf 100644
--- a/src/components/GuiTheme.cpp
+++ b/src/components/GuiTheme.cpp
@@ -135,8 +135,8 @@ GuiComponent* GuiTheme::createElement(pugi::xml_node data, GuiComponent* parent)
 		int w = resolveExp(dimW) * Renderer::getScreenWidth();
 		int h = resolveExp(dimH) * Renderer::getScreenHeight();
 
-		int ox = strToInt(originX);
-		int oy = strToInt(originY);
+		float ox = strToFloat(originX);
+		float oy = strToFloat(originY);
 
 		std::cout << "w: " << w << "px, h: " << h << "px\n";
 
@@ -201,12 +201,12 @@ void GuiTheme::splitString(std::string str, char delim, std::string* before, std
 	*after = str.substr(split + 1, str.length() - split - 1);
 }
 
-int GuiTheme::strToInt(std::string str)
+float GuiTheme::strToFloat(std::string str)
 {
 	if(str.empty())
 		return 0;
 
-	int ret;
+	float ret;
 	std::stringstream ss;
 	ss << str;
 	ss >> ret;
diff --git a/src/components/GuiTheme.h b/src/components/GuiTheme.h
index 9ea3fe551..d6ceed6d3 100644
--- a/src/components/GuiTheme.h
+++ b/src/components/GuiTheme.h
@@ -29,7 +29,7 @@ private:
 	float resolveExp(std::string str);
 	int resolveColor(std::string str, int defaultColor = 0x000000);
 	void splitString(std::string str, char delim, std::string* before, std::string* after);
-	int strToInt(std::string str);
+	float strToFloat(std::string str);
 
 	std::vector<GuiComponent*> mComponentVector;
 	std::string mPath;