diff --git a/calendar/inc/class.calendar_bo.inc.php b/calendar/inc/class.calendar_bo.inc.php
index f5995a250c..ea380bff1e 100644
--- a/calendar/inc/class.calendar_bo.inc.php
+++ b/calendar/inc/class.calendar_bo.inc.php
@@ -432,10 +432,16 @@ class calendar_bo
 
 		// socal::search() returns rejected group-invitations, as only the user not also the group is rejected
 		// as we cant remove them efficiantly in SQL, we kick them out here, but only if just one user is displayed
-		$remove_rejected_by_user = !in_array($filter,array('all','rejected')) && count($params['users']) == 1 ? $params['users'][0] : false;
+		$remove_rejected_by_user = !in_array($filter,array('all','rejected','owner')) && count($params['users']) == 1 ? $params['users'][0] : false;
 		//echo "<p align=right>remove_rejected_by_user=$remove_rejected_by_user, filter=$filter, params[users]=".print_r($param['users'])."</p>\n";
 		foreach($events as $id => $event)
 		{
+			if (isset($start) && $event['start'] < $start)
+			{
+				unset($events[$id]);	// remove former events (e.g. whole day) 
+				$this->total--;
+				continue;
+			}
 			if ($remove_rejected_by_user && $event['participants'][$remove_rejected_by_user] == 'R')
 			{
 				unset($events[$id]);	// remove the rejected event
diff --git a/calendar/inc/class.calendar_so.inc.php b/calendar/inc/class.calendar_so.inc.php
index 34800fab24..03cf2915d5 100644
--- a/calendar/inc/class.calendar_so.inc.php
+++ b/calendar/inc/class.calendar_so.inc.php
@@ -521,7 +521,7 @@ class calendar_so
 				foreach(array_keys($selects) as $key)
 				{
 					if ($i >= $countSelects) continue;
-					$i ++;
+					$i++;
 					$selects[$key]['cols'] = $select['cols']; // restore the original cols
 					//$selects[0]['cols'] = $selects[1]['cols'] = $select['cols'];	// restore the original cols
 				}