diff --git a/core/Piwik.php b/core/Piwik.php
index a1ffc1df27e3e3ce0a621e5caa1313e6c0d76280..0fb50979bc88ba4f95cb113acf536922604c928c 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -1419,7 +1419,7 @@ class Piwik
             $time = sprintf("%02s", $hours) . ':' . sprintf("%02s", $minutes) . ':' . sprintf("%02s", $seconds);
             $milliSeconds = ($numberOfSeconds * 1000) % 1000;
             if ($milliSeconds) {
-                $time .= '.' . $milliSeconds;
+                $time .= '.' . sprintf("%03s", $milliSeconds);
             }
             return $time;
         }
@@ -1435,6 +1435,8 @@ class Piwik
         $minutes = floor($minusDaysAndHours / 60);
 
         $seconds = $minusDaysAndHours - $minutes * 60;
+		
+		$milliSeconds = ($numberOfSeconds * 1000) % 1000;
 
         if ($years > 0) {
             $return = sprintf(Piwik_Translate('General_YearsDays'), $years, $days);
@@ -1444,6 +1446,8 @@ class Piwik
             $return = sprintf(Piwik_Translate('General_HoursMinutes'), $hours, $minutes);
         } elseif ($minutes > 0) {
             $return = sprintf(Piwik_Translate('General_MinutesSeconds'), $minutes, $seconds);
+		} elseif ($milliSeconds > 0 && $seconds < 1) {
+			$return = sprintf(Piwik_Translate('General_Milliseconds'), $milliSeconds);
         } else {
             $return = sprintf(Piwik_Translate('General_Seconds'), $seconds);
         }
diff --git a/lang/en.php b/lang/en.php
index 6ccc4c8bdc086cc8c0ddda81631413cef662261f..ca5351dd74f4eee2de06a9a2196a250c76cf6909 100644
--- a/lang/en.php
+++ b/lang/en.php
@@ -191,6 +191,7 @@ $translations = array(
 	'General_HoursMinutes' => '%1$s hours %2$s min',
 	'General_MinutesSeconds' => '%1$s min %2$ss',
 	'General_Seconds' => '%ss',
+	'General_Milliseconds' => '%sms',
 	'General_Save' => 'Save',
 	'General_Faq' => 'FAQ',
 	'General_ForExampleShort' => 'eg.',
diff --git a/tests/PHPUnit/Core/PiwikTest.php b/tests/PHPUnit/Core/PiwikTest.php
index fbb77415153916c3af9c9f6aca6d5fa68adc8e43..87889904dc8d3fbe39001a2f01740abf6354e640 100644
--- a/tests/PHPUnit/Core/PiwikTest.php
+++ b/tests/PHPUnit/Core/PiwikTest.php
@@ -89,7 +89,10 @@ class PiwikTest extends DatabaseTestCase
             array(86400 * 365, array('365 days 0 hours', '8760:00:00')),
             array((86400 * (365.25 + 10)), array('1 years 10 days', '9006:00:00')),
             array(1.342, array('1.342s', '00:00:01.342')),
-            array(.342, array('0.342s', '00:00:00.342')),
+            array(.342, array('342ms', '00:00:00.342')),
+			array(.02, array('20ms', '00:00:00.020')),
+			array(1.002, array('1.002s', '00:00:01.002')),
+			array(122.1, array('2 min 2.1s', '00:02:02.100'))
         );
     }