diff --git a/lib/log/owncloud.php b/lib/log/owncloud.php
index 881c67d2664a67a6e2b23e2ba18740210711c3a6..0b7a231d3045aa76de1432c8446be0dba25d9cdb 100644
--- a/lib/log/owncloud.php
+++ b/lib/log/owncloud.php
@@ -73,7 +73,7 @@ class OC_Log_Owncloud {
 		$end=max(count($contents)-$offset-1, 0);
 		$start=max($end-$limit,0);
 		$i=$end;
-		while(count($entries)<$limit){
+		while($i>$start){
 			$entry=json_decode($contents[$i]);
 			if($entry->level>=$minLevel){
 				$entries[]=$entry;
diff --git a/settings/js/log.js b/settings/js/log.js
index 5dd9c94ae0c0acb9bc1a0fb407f79bdc19eeb076..6063c7d9a9fe8cb41834e832a1f8416b31c6f3ae 100644
--- a/settings/js/log.js
+++ b/settings/js/log.js
@@ -25,7 +25,6 @@ OC.Log={
 				$('html, body').animate({scrollTop: $(document).height()}, 800);
 			}
 		});
-		OC.Log.loaded+=count;
 	},
 	addEntries:function(entries){
 		for(var i=0;i<entries.length;i++){
@@ -48,6 +47,7 @@ OC.Log={
 			row.append(timeTd);
 			$('#log').append(row);
 		}
+		OC.Log.loaded += entries.length;
 	}
 }