diff --git a/library/Class/WebService/ICalendar.php b/library/Class/WebService/ICalendar.php
index 51c52e71cb753e5d5a9a1b4e214e325fb6cd7330..e9a3df47864653479b0513d4f37e88f5f7a4bbba 100644
--- a/library/Class/WebService/ICalendar.php
+++ b/library/Class/WebService/ICalendar.php
@@ -36,10 +36,10 @@ class Class_WebService_ICalendar extends Class_WebService_Abstract {
 
 
     $ics_content = $this->httpGet($external_agenda->getUrl());
-    $ics_content = preg_replace('|\r\n\s|', '', $ics_content); //see RFC2445
+    $ics_content = preg_replace('|\n\s|', '', $ics_content); //see RFC2445
+    $lines = preg_split('|\r?\n|', $ics_content);
 
-    array_map([$this, '_importLine'],
-              explode("\r\n", $ics_content));
+    array_map([$this, '_importLine'], $lines);
 
     return $this->_events;
   }
diff --git a/tests/scenarios/ExternalAgendas/ExternalAgendasTest.php b/tests/scenarios/ExternalAgendas/ExternalAgendasTest.php
index 3a9a882bb377d07c3f73e044f2ac3a77f8b0cc69..fc6a057b2b2eee8e212e8b69002b93598c6a24b2 100644
--- a/tests/scenarios/ExternalAgendas/ExternalAgendasTest.php
+++ b/tests/scenarios/ExternalAgendas/ExternalAgendasTest.php
@@ -490,8 +490,7 @@ class ExternalAgendasAdminImportTest extends ExternalAgendasAdminTestCase {
   /** @test */
   public function pageShouldContainsABackButton() {
     $this->assertXPathContentContains('//div[contains(@onclick, "replace(\'/admin/external-agendas\')")]//td',
-                                      'Retour à la liste des agendas',
-                                      $this->_response->getBody());
+                                      'Retour à la liste des agendas');
   }