diff --git a/mwclient/page.py b/mwclient/page.py
index 7c8a03d679b4fda5a6ffc2f37a80df01172f387f..0fda3db7fcb01e4e0c79d52a9c27e83da80ce97f 100644
--- a/mwclient/page.py
+++ b/mwclient/page.py
@@ -274,7 +274,10 @@ class Image(Page):
 			limit = limit, return_values = 'title', **kwargs)
 
 	def download(self):
-		url = urlparse.urlparse(self.imageinfo['url'])
+		url = self.imageinfo['url']
+		if not url.startswith('http://'):
+			url = 'http://' + self.site.host + url
+		url = urlparse.urlparse(url)
 		# TODO: query string
 		return self.site.connection.get(url[1], url[2])