diff --git a/erpnext/home/page/profile_settings/profile_settings.js b/erpnext/home/page/profile_settings/profile_settings.js
index 8ce94f8..f1ee6ff 100644
--- a/erpnext/home/page/profile_settings/profile_settings.js
+++ b/erpnext/home/page/profile_settings/profile_settings.js
@@ -31,8 +31,8 @@
 		
 		this.tab = make_table($a(this.wrapper, 'div', '', {marginTop:'19px'}), 
 			1, 2, '90%', ['50%', '50%'], {padding:'11px'})
-		this.img = $a($td(this.tab, 0, 0), 'img');
-		set_user_img(this.img, user);
+		this.img = $a($td(this.tab, 0, 0), 'img', '', {width: '120px', maxHeight:'200px'});
+		this.img.src = wn.user_info(user).image;
 
 		$btn($a($td(this.tab, 0, 0), 'div', '', {marginTop:'11px'}), 'Change Image', this.change_image);
 
@@ -135,14 +135,18 @@
 }
 
 pscript.background_change = function(fid) {
-	//erpnext.set_background_image(fid);
-	pscript.open_dialog.hide();
+	msgprint('File Uploaded');
+	if(fid) {
+		erpnext.set_user_background(fid);		
+		pscript.open_dialog.hide();
+	}
 }
 
 pscript.user_image_upload = function(fid) {
 	msgprint('File Uploaded');
 	if(fid) {
 		pscript.open_dialog.hide();
-		set_user_img(pscript.myprofile.img, user, null, fid);
+		wn.boot.user_info[user].image = 'files/' + fid;
+		pscript.myprofile.img.src = 'files/' + fid;
 	}
 }
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 0689021..0a2ac23 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -147,7 +147,7 @@
 }
 
 erpnext.set_user_background = function(src) {
-	set_style(repl('body { background: url("files/%(src)s") repeat !important;}', {src:src}))
+	set_style(repl('body { background: url("files/%(src)s") repeat;}', {src:src}))
 }
 
 // start
diff --git a/js/all-app.js b/js/all-app.js
index 313beff..424cc14 100644
--- a/js/all-app.js
+++ b/js/all-app.js
Binary files differ
diff --git a/js/all-web.js b/js/all-web.js
index 4c6e6f4..ba88811 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -1081,7 +1081,7 @@
 if(circle){if(r.message.length){circle.find('span:first').text(r.message.length);circle.toggle(true);}else{circle.toggle(false);}}}else{clearInterval(wn.updates.id);}});}else{page_body.wntoolbar.set_new_comments(0);$('#msg_count').toggle(false);}}
 erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
 wn.updates.id=setInterval(update_messages,60000);}
-erpnext.set_user_background=function(src){set_style(repl('body { background: url("files/%(src)s") repeat !important;}',{src:src}))}
+erpnext.set_user_background=function(src){set_style(repl('body { background: url("files/%(src)s") repeat;}',{src:src}))}
 $(document).bind('startup',function(){erpnext.startup.start();});
 /*
  *	erpnext/website/js/topbar.js
diff --git a/version.num b/version.num
index 7ab878c..f9b0327 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-814
+815
\ No newline at end of file
