diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php
index 016cc4c10a74098c1f9bf9ff9ea84ed1433cbada..e46e6083d3eddfc95c28c5f63f52075fc0c42f0b 100644
--- a/htdocs/comm/action/index.php
+++ b/htdocs/comm/action/index.php
@@ -503,58 +503,65 @@ if ($conf->global->ENABLE_AGENDA_EXT==1 && $conf->global->AGENDA_EXT_NB>0)
 			foreach($icalevents as $icalevent)
 			{
 				// Create a new object action
-				$event=new ActionComm($db);
-				$paramkey='AGENDA_EXT_NAME'.$i;
-				$namecal = $conf->global->$paramkey;
-				$paramkey='AGENDA_EXT_COLOR'.$i;
-				$colorcal = $conf->global->$paramkey;
-				$event->id=$icalevent[UID];
-				$event->icalname=$namecal;
-				$event->icalcolor=$colorcal;
-				$usertime=($_SESSION['dol_tz']*60*60)+($_SESSION['dol_dst']*60*60);
-				$event->datep=$icalevent[DTSTART]+$usertime;
-				$event->datef=$icalevent[DTEND]+$usertime;
-				$event->type_code="ICALEVENT";
-				$event->libelle='<b>'.$icalevent[SUMMARY].'</b><br>'.str_replace("\\n", "<br>", "$icalevent[DESCRIPTION]"); 
-	        	//$event->fulldayevent=$obj->fulldayevent;
-	        	
-				$event->date_start_in_calendar=$event->datep;
-				
-				if ($event->datef != '' && $event->datef >= $event->datep) $event->date_end_in_calendar=$event->datef;
-				else $event->date_end_in_calendar=$event->datep;
-			
-				// Define ponctual property
-				if ($event->date_start_in_calendar == $event->date_end_in_calendar)
-				{
-					$event->ponctuel=1;
-				}
-	
-				// Check values
-				if ($event->date_end_in_calendar < $firstdaytoshow || $event->date_start_in_calendar > $lastdaytoshow)
-				{
-					// This record is out of visible range
-				}
-				else
+				if(!is_array($icalevent[DTSTART])) //non-repeatable and not fullday event
 				{
-					if ($event->date_start_in_calendar < $firstdaytoshow) $event->date_start_in_calendar=$firstdaytoshow;
-					if ($event->date_end_in_calendar > $lastdaytoshow) $event->date_end_in_calendar=$lastdaytoshow;
-	
-					// Add an entry in actionarray for each day
-					$daycursor=$event->date_start_in_calendar;
-					$annee = date('Y',$daycursor);
-					$mois = date('m',$daycursor);
-					$jour = date('d',$daycursor);
-	
-					// Loop on each day covered by action to prepare an index to show on calendar
-					$loop=true; $j=0;
-					$daykey=dol_mktime(0,0,0,$mois,$jour,$annee);
-					do
+					$event=new ActionComm($db);
+					$paramkey='AGENDA_EXT_NAME'.$i;
+					$namecal = $conf->global->$paramkey;
+					$paramkey='AGENDA_EXT_COLOR'.$i;
+					$colorcal = $conf->global->$paramkey;
+					$event->id=$icalevent[UID];
+					$event->icalname=$namecal;
+					$event->icalcolor=$colorcal;
+					$usertime=($_SESSION['dol_tz']*60*60)+($_SESSION['dol_dst']*60*60);
+					$event->datep=$icalevent[DTSTART]+$usertime;
+					$event->datef=$icalevent[DTEND]+$usertime;
+					$event->type_code="ICALEVENT";
+					$event->libelle='<b>'.$icalevent[SUMMARY].'</b><br>'.str_replace("\\n", "<br>", "$icalevent[DESCRIPTION]"); 
+		        	//$event->fulldayevent=$obj->fulldayevent;
+		        	
+					$event->date_start_in_calendar=$event->datep;
+					
+					if ($event->datef != '' && $event->datef >= $event->datep) $event->date_end_in_calendar=$event->datef;
+					else $event->date_end_in_calendar=$event->datep;
+				
+					// Define ponctual property
+					if ($event->date_start_in_calendar == $event->date_end_in_calendar)
 					{
-						$eventarray[$daykey][]=$event;
-						$daykey+=60*60*24;
-						if ($daykey > $event->date_end_in_calendar) $loop=false;
+						$event->ponctuel=1;
 					}
-					while ($loop);
+		
+					// Check values
+					if ($event->date_end_in_calendar < $firstdaytoshow || $event->date_start_in_calendar > $lastdaytoshow)
+					{
+						// This record is out of visible range
+					}
+					else
+					{
+						if ($event->date_start_in_calendar < $firstdaytoshow) $event->date_start_in_calendar=$firstdaytoshow;
+						if ($event->date_end_in_calendar > $lastdaytoshow) $event->date_end_in_calendar=$lastdaytoshow;
+		
+						// Add an entry in actionarray for each day
+						$daycursor=$event->date_start_in_calendar;
+						$annee = date('Y',$daycursor);
+						$mois = date('m',$daycursor);
+						$jour = date('d',$daycursor);
+		
+						// Loop on each day covered by action to prepare an index to show on calendar
+						$loop=true; $j=0;
+						$daykey=dol_mktime(0,0,0,$mois,$jour,$annee);
+						do
+						{
+							$eventarray[$daykey][]=$event;
+							$daykey+=60*60*24;
+							if ($daykey > $event->date_end_in_calendar) $loop=false;
+						}
+						while ($loop);
+					}
+				}
+				else //repeatable or fullday event
+				{
+					
 				}
 			}