diff --git a/core/Controller.php b/core/Controller.php
index bf54944400eca025d868d570795cc284a9bdcccd..f7c8b2995b316d612104f599123bdd51261ff8e2 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -375,8 +375,8 @@ abstract class Piwik_Controller
 		$view->debugTrackVisitsInsidePiwikUI = Zend_Registry::get('config')->Debug->track_visits_inside_piwik_ui;
 		$view->isSuperUser = Zend_Registry::get('access')->isSuperUser();
 		$view->isCustomLogo = Zend_Registry::get('config')->branding->use_custom_logo;
-		$view->headerLogo = Piwik_API_API::getInstance()->getHeaderLogoUrl();
-		$view->logo = Piwik_API_API::getInstance()->getLogoUrl();
+		$view->logoHeader = Piwik_API_API::getInstance()->getHeaderLogoUrl();
+		$view->logoLarge = Piwik_API_API::getInstance()->getLogoUrl();
 	}
 	
 	/**
diff --git a/lang/en.php b/lang/en.php
index 0fe9535ab5445b5c20a2ba6ae8b22b016788fed6..dde5f49a4b7ab2f31bbd9499cb0bc2165f30fb87 100644
--- a/lang/en.php
+++ b/lang/en.php
@@ -335,10 +335,10 @@ $translations = array(
 	'CoreAdminHome_ClickHereToOptIn' => 'Click here to opt in.',
 	'CoreAdminHome_BrandingSettings' => 'Branding settings',
 	'CoreAdminHome_CustomLogoHelpText' => 'You can customize the Piwik logo which will be displayed in the user interface and email reports.',
-	'CoreAdminHome_CustomLogoFeedbackInfo' => 'If you customize the Piwik logo, you might also be interested to hide the "Feedback" link in the top menu. To do so, you can disable the Feedback plugin in the %sManage Plugins%s page.',
+	'CoreAdminHome_CustomLogoFeedbackInfo' => 'If you customize the Piwik logo, you might also be interested to hide the %s link in the top menu. To do so, you can disable the Feedback plugin in the %sManage Plugins%s page.',
 	'CoreAdminHome_UseCustomLogo' => 'Use a custom logo',
-	'CoreAdminHome_LogoUpload' => 'Fileupload for custom logo',
-	'CoreAdminHome_LogoUploadDescription' => 'Please upload a file with a size of 280x110 or with an equal aspect ratio.',
+	'CoreAdminHome_LogoUpload' => 'Select a Logo to upload',
+	'CoreAdminHome_LogoUploadDescription' => 'Please upload a file in %s formats, no transparent background.',
 	'CoreAdminHome_LogoNotWriteable' => 'To use a custom logo Piwik requires write access to the logo files within the themes directory: %s',
 	'CoreHome_PluginDescription' => 'Web Analytics Reports Structure.',
 	'CoreHome_WebAnalyticsReports' => 'Web Analytics Reports',
diff --git a/plugins/API/API.php b/plugins/API/API.php
index 2e22d275cdd7ae3ac35a2666159e504100673b1c..862d001ecbfb4c6af135d69b81d3a7f2ed97fa3f 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -284,16 +284,16 @@ class Piwik_API_API
 	 */
 	public function getLogoUrl($pathOnly=false)
 	{
-	    if(Zend_Registry::get('config')->branding->use_custom_logo == 1 && file_exists(Piwik_Common::getPathToPiwikRoot() .'/themes/logo.png')) {
+        $logo = 'themes/default/images/logo.png';
+	    if(Zend_Registry::get('config')->branding->use_custom_logo == 1 
+	    	&& file_exists(Piwik_Common::getPathToPiwikRoot() .'/themes/logo.png')) 
+	    {
 	        $logo = 'themes/logo.png';
-	    } else {
-	        $logo = 'themes/default/images/logo.png';
-	    }
+	    } 
 	    if(!$pathOnly) {
 	        return Piwik::getPiwikUrl() . $logo;
-	    } else {
-	        return Piwik_Common::getPathToPiwikRoot() .'/'. $logo;
-	    }
+	    } 
+	    return Piwik_Common::getPathToPiwikRoot() .'/'. $logo;
 	}
 	
 	/**
@@ -301,16 +301,16 @@ class Piwik_API_API
 	 */
 	public function getHeaderLogoUrl($pathOnly=false)
 	{
-	    if(Zend_Registry::get('config')->branding->use_custom_logo == 1 && file_exists(Piwik_Common::getPathToPiwikRoot() .'/themes/logo-header.png')) {
+        $logo = 'themes/default/images/logo-header.png';
+	    if(Zend_Registry::get('config')->branding->use_custom_logo == 1 
+	    	&& file_exists(Piwik_Common::getPathToPiwikRoot() .'/themes/logo-header.png')) 
+	    {
 	        $logo = 'themes/logo-header.png';
-	    } else {
-	        $logo = 'themes/default/images/logo-header.png';
-	    }
+	    } 
 	    if(!$pathOnly) {
 	        return Piwik::getPiwikUrl() . $logo;
-	    } else {
-	        return Piwik_Common::getPathToPiwikRoot() .'/'. $logo;
 	    }
+	    return Piwik_Common::getPathToPiwikRoot() .'/'. $logo;
 	}
 	
     /**
diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php
index a22294407036094d1edbcf6a3989a44727212b0d..d8706c5f616112d8f295f5daaf18d42337431fc1 100644
--- a/plugins/CoreAdminHome/Controller.php
+++ b/plugins/CoreAdminHome/Controller.php
@@ -16,10 +16,8 @@
  */
 class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin
 {
-    const LOGO_HEIGHT = 110;
-    const LOGO_WIDTH = 280;
-    const LOGO_SMALL_HEIGHT = 50;
-    const LOGO_SMALL_WIDTH = 127;
+    const LOGO_HEIGHT = 300;
+    const LOGO_SMALL_HEIGHT = 100;
     
 	public function index()
 	{
@@ -129,35 +127,40 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin
 	
 	public function uploadCustomLogo()
 	{
-		if(!empty($_FILES['customLogo']) && empty($_FILES['customLogo']['error'])) {
-			$file = $_FILES['customLogo']['tmp_name'];
-			$error = false;
-			
-			list($width, $height) = getimagesize($file);
-
-
-			switch($_FILES['customLogo']['type']) {
-				case 'image/jpeg':
-					$image = imagecreatefromjpeg($file);
-					break;
-				case 'image/png':
-					$image = imagecreatefrompng($file);
-					break;
-				default:
-					echo '0';
-					return;
-			}
-
-			$logo = imagecreatetruecolor(self::LOGO_WIDTH, self::LOGO_HEIGHT);
-			$logoSmall = imagecreatetruecolor(self::LOGO_SMALL_WIDTH, self::LOGO_SMALL_HEIGHT);
-			imagecopyresized($logo, $image, 0, 0, 0, 0, self::LOGO_WIDTH, self::LOGO_HEIGHT, $width, $height);
-			imagecopyresized($logoSmall, $image, 0, 0, 0, 0, self::LOGO_SMALL_WIDTH, self::LOGO_SMALL_HEIGHT, $width, $height);
-
-			imagepng($logo, Piwik_Common::getPathToPiwikRoot().'/themes/logo.png', 3);
-			imagepng($logoSmall, Piwik_Common::getPathToPiwikRoot().'/themes/logo-header.png', 3);
-			echo '1';
+		if(empty($_FILES['customLogo']) 
+			|| !empty($_FILES['customLogo']['error'])) 
+		{
+			echo '0';
 			return;
 		}
-		echo '0';
+		
+		$file = $_FILES['customLogo']['tmp_name'];
+		$error = false;
+		
+		list($width, $height) = getimagesize($file);
+		switch($_FILES['customLogo']['type']) {
+			case 'image/jpeg':
+				$image = imagecreatefromjpeg($file);
+				break;
+			case 'image/png':
+				$image = imagecreatefrompng($file);
+				break;
+			default:
+				echo '0';
+				return;
+		}
+
+		$widthExpected = round($width * self::LOGO_HEIGHT / $height);
+		$smallWidthExpected = round($width * self::LOGO_SMALL_HEIGHT / $height); 
+		
+		$logo = imagecreatetruecolor($widthExpected, self::LOGO_HEIGHT);
+		$logoSmall = imagecreatetruecolor($smallWidthExpected, self::LOGO_SMALL_HEIGHT);
+		imagecopyresized($logo, $image, 0, 0, 0, 0, $widthExpected, self::LOGO_HEIGHT, $width, $height);
+		imagecopyresized($logoSmall, $image, 0, 0, 0, 0, $smallWidthExpected, self::LOGO_SMALL_HEIGHT, $width, $height);
+
+		imagepng($logo, Piwik_Common::getPathToPiwikRoot().'/themes/logo.png', 3);
+		imagepng($logoSmall, Piwik_Common::getPathToPiwikRoot().'/themes/logo-header.png', 3);
+		echo '1';
+		return;
 	}
 }
diff --git a/plugins/CoreAdminHome/templates/generalSettings.tpl b/plugins/CoreAdminHome/templates/generalSettings.tpl
index 88adc3aca8300dc75486ad094361133e4fbab784..072d5e9c0ad8ec538cea07c581f66233719b3a7b 100644
--- a/plugins/CoreAdminHome/templates/generalSettings.tpl
+++ b/plugins/CoreAdminHome/templates/generalSettings.tpl
@@ -125,9 +125,10 @@
 
 <h2>{'CoreAdminHome_BrandingSettings'|translate}</h2>
 <div id='brandSettings'>
+{'CoreAdminHome_CustomLogoHelpText'|translate}
 <table class="adminTable" style='width:600px;'>
     <tr>
-        <td>{'CoreAdminHome_UseCustomLogo'|translate}</td>
+        <td> {'CoreAdminHome_UseCustomLogo'|translate}</td>
         <td style='width:200px'>
             <label><input type="radio" name="useCustomLogo" value="1" {if $branding.use_custom_logo == 1} checked {/if}> {'General_Yes'|translate}</label>
             <label><input type="radio" name="useCustomLogo" value="0" style ="margin-left:20px;" {if $branding.use_custom_logo == 0} checked {/if}>  {'General_No'|translate}</label> 
@@ -136,19 +137,19 @@
 </table>
 </div>
 <div id='logoSettings'>
+	{capture assign=giveUsFeedbackText}"{'General_GiveUsYourFeedback'|translate}"{/capture}
     {capture assign=customLogoHelp}
-        {'CoreAdminHome_CustomLogoHelpText'|translate}<br /><br />
-        {'CoreAdminHome_CustomLogoFeedbackInfo'|translate:"<a href='?module=CorePluginsAdmin&action=index' target='_blank'>":"</a>"}
+        {'CoreAdminHome_CustomLogoFeedbackInfo'|translate:$giveUsFeedbackText:"<a href='?module=CorePluginsAdmin&action=index' target='_blank'>":"</a>"}
     {/capture}
     {$customLogoHelp|inlineHelp}
     <form id="logoUploadForm" method="post" enctype="multipart/form-data" action="index.php?module=CoreAdminHome&format=json&action=uploadCustomLogo">
     <table class="adminTable" style='width:550px;'> 
         <tr>
             {if $logosWriteable}
-            <td><label for="customLogo">{'CoreAdminHome_LogoUpload'|translate}<br>
-                <span class="form-description">{'CoreAdminHome_LogoUploadDescription'|translate}</span></label></td>
+            <td><label for="customLogo">{'CoreAdminHome_LogoUpload'|translate}:<br>
+                <span class="form-description">{'CoreAdminHome_LogoUploadDescription'|translate:"JPG / PNG"}</span></label></td>
             <td style='width:200px'>
-            <input name="customLogo" type="file" id="customLogo" /><img src="themes/logo.png" id="currentLogo" />
+            <input name="customLogo" type="file" id="customLogo" /><img src="themes/logo.png?r={math equation='rand(10,1000)'}" id="currentLogo" height="150"/>
             </td>
             {else}
             <td><span class="ajaxSuccess">{'CoreAdminHome_LogoNotWriteable'|translate:"<ul style='list-style: disc inside;'><li>/themes/</li><li>/themes/logo.png</li><li>/themes/logo-header.png</li></ul>"}</span></td>
diff --git a/plugins/CoreHome/templates/logo.tpl b/plugins/CoreHome/templates/logo.tpl
index f22eb9c265c6cc2daf6578ea0709640fcb4a8f0c..a12bb659c623d6adabe2d0a689650532a115a739 100644
--- a/plugins/CoreHome/templates/logo.tpl
+++ b/plugins/CoreHome/templates/logo.tpl
@@ -1,9 +1,5 @@
 <span id="logo">
 <a href="index.php" title="{if $isCustomLogo}{'General_PoweredBy'|translate} {/if}Piwik # {'General_OpenSourceWebAnalytics'|translate}" style="text-decoration: none;">
-	<img src='{$headerLogo}' alt="{if $isCustomLogo}{'General_PoweredBy'|translate} {/if}Piwik" style='margin-left:10px' />
-	{*
-	Text logo: <span style="color: rgb(245, 223, 114);">P</span><span style="color: rgb(241, 175, 108);">i</span><span style="color: rgb(241, 117, 117);">w</span><span style="color: rgb(155, 106, 58);">i</span><span style="color: rgb(107, 50, 11);">k</span>
-	*}
-	
+	<img src='{$logoHeader}' alt="{if $isCustomLogo}{'General_PoweredBy'|translate} {/if}Piwik" style='margin-left:10px' height='50px'/>
 </a>
 </span>
diff --git a/plugins/Login/templates/header.tpl b/plugins/Login/templates/header.tpl
index 338b9002fe2c1d1fe0052e636418ce0b7ada893c..90d18ed16e339dbb0cc1e4d030ec4f5ca2f89e99 100644
--- a/plugins/Login/templates/header.tpl
+++ b/plugins/Login/templates/header.tpl
@@ -57,7 +57,7 @@
 {include file="default/ie6.tpl"}
 	<div id="logo">
 	<a href="http://piwik.org" title="{$linkTitle}">
-		<img src='{$logo}' width='200' style='margin-right:20px'>
+		<img src='{$logoLarge}' width='200' style='margin-right:20px'>
 		<div class="description"># {$linkTitle}</div>
 	</a>
 	</div>