diff --git a/src/test/java/org/olat/selenium/CourseTest.java b/src/test/java/org/olat/selenium/CourseTest.java
index f7ff38bbdd7dcc55b48c2f329b2002db79c0fd17..36bd27221b54971ac4070c5ccec6c3c8edfab924 100644
--- a/src/test/java/org/olat/selenium/CourseTest.java
+++ b/src/test/java/org/olat/selenium/CourseTest.java
@@ -802,11 +802,11 @@ public class CourseTest {
 		Assert.assertEquals(podcastTitle, podcastH2.getText().trim());
 		
 		FeedPage feed = FeedPage.getFeedPage(browser);
-		feed.newExternalPodcast("http://pod.drs.ch/rock_special_mpx.xml");
+		feed.newExternalPodcast("http://podcasts.srf.ch/rock_special_mpx.xml");
 
 		//check only that the "episodes" title is visible
 		By episodeTitleby = By.cssSelector("div.o_podcast_episodes>h4.o_title");
-		OOGraphene.waitElement(episodeTitleby, 5, browser);
+		OOGraphene.waitElement(episodeTitleby, 20, browser);
 		WebElement episodeH4 = browser.findElement(episodeTitleby);
 		Assert.assertNotNull(episodeH4);
 	}
@@ -859,7 +859,7 @@ public class CourseTest {
 
 		//check only that the subscription link is visible
 		By subscriptionBy = By.cssSelector("div.o_subscription>a");
-		OOGraphene.waitElement(subscriptionBy, 10, browser);
+		OOGraphene.waitElement(subscriptionBy, 20, browser);
 		WebElement subscriptionLink = browser.findElement(subscriptionBy);
 		Assert.assertTrue(subscriptionLink.isDisplayed());
 	}
diff --git a/src/test/java/org/olat/selenium/page/core/BookingPage.java b/src/test/java/org/olat/selenium/page/core/BookingPage.java
index 7b15d3999b5b1ee05a95388424106b2187dd8a63..54fece431eabb288c84bfa35f3fa871769e1d85f 100644
--- a/src/test/java/org/olat/selenium/page/core/BookingPage.java
+++ b/src/test/java/org/olat/selenium/page/core/BookingPage.java
@@ -38,8 +38,6 @@ import org.openqa.selenium.WebElement;
  */
 public class BookingPage {
 	
-	private static final By tokenIconBy = By.className("o_ac_token_icon");
-	private static final By addMethodLinksBy = By.cssSelector("fieldset.o_ac_configuration ul.dropdown-menu a");
 	
 	private WebDriver browser;
 	
@@ -64,20 +62,19 @@ public class BookingPage {
 	 * @return This page
 	 */
 	public BookingPage addTokenMethod() {
-		return addMethod(tokenIconBy);
+		addMethod("o_ac_token_icon");
+		By popupBy = By.cssSelector("div.modal-dialog");
+		OOGraphene.waitElement(popupBy, 5, browser);
+		return this;
 	}
 	
-	private BookingPage addMethod(By iconBy) {
-		List<WebElement> links = browser.findElements(addMethodLinksBy);
-		WebElement tokenLink = null;
-		for(WebElement link:links) {
-			List<WebElement> icons = link.findElements(iconBy);
-			if(icons.size() > 0) {
-				tokenLink = link;
-			}
-		}
-		Assert.assertNotNull(tokenLink);
-		tokenLink.click();
+	private BookingPage addMethod(String iconClassname) {
+		//wait menu
+		By addMenuBy = By.cssSelector("fieldset.o_ac_configuration ul.dropdown-menu");
+		OOGraphene.waitElement(addMenuBy, 5, browser);
+		By addMethodBy = By.xpath("//fieldset[contains(@class,'o_ac_configuration')]//ul[contains(@class,'dropdown-menu')]//a[//i[contains(@class,'" + iconClassname + "')]]");
+		WebElement methodLink = browser.findElement(addMethodBy);
+		methodLink.click();
 		OOGraphene.waitBusy(browser);
 		return this;
 	}
diff --git a/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java b/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java
index 80556a10d53ae575ff1404700473bef9c8e02a44..aa69423cab9e04dc5531b21c023eed0d581d0186 100644
--- a/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java
+++ b/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java
@@ -107,6 +107,8 @@ public class CourseEditorPageFragment {
 		By rootNodeBy = By.cssSelector("span.o_tree_link.o_tree_l0>a");
 		browser.findElement(rootNodeBy).click();
 		OOGraphene.waitBusy(browser);
+		By rootNodeActiveBy = By.cssSelector("span.o_tree_link.o_tree_l0.active");
+		OOGraphene.waitElement(rootNodeActiveBy, 5, browser);
 		return this;
 	}
 	
@@ -149,6 +151,10 @@ public class CourseEditorPageFragment {
 	}
 	
 	private CourseEditorPageFragment selectTab(By tabBy) {
+		//make sure the tab bar is loaded
+		By navBarBy = By.cssSelector("ul.o_node_config");
+		OOGraphene.waitElement(navBarBy, 5, browser);
+		
 		List<WebElement> tabLinks = browser.findElements(navBarNodeConfiguration);
 
 		boolean found = false;
diff --git a/src/test/java/org/olat/selenium/page/graphene/OOGraphene.java b/src/test/java/org/olat/selenium/page/graphene/OOGraphene.java
index ae6ebcb03aebfb378f7b1ca1df7d79daceb11a9b..8b6bf0549a32e14f578926f4b09570733a439ce6 100644
--- a/src/test/java/org/olat/selenium/page/graphene/OOGraphene.java
+++ b/src/test/java/org/olat/selenium/page/graphene/OOGraphene.java
@@ -53,6 +53,11 @@ public class OOGraphene {
 		Graphene.waitModel(browser).pollingEvery(poolingDuration, TimeUnit.MILLISECONDS).until(new BusyPredicate());
 	}
 	
+	public static void waitBusy(WebDriver browser, int timeoutInSeconds) {
+		Graphene.waitModel(browser).withTimeout(timeoutInSeconds, TimeUnit.SECONDS)
+		.pollingEvery(poolingDuration, TimeUnit.MILLISECONDS).until(new BusyPredicate());
+	}
+	
 	public static void waitElement(By element, WebDriver browser) {
 		Graphene.waitModel(browser).pollingEvery(poolingDuration, TimeUnit.MILLISECONDS).until().element(element).is().visible();
 	}
diff --git a/src/test/java/org/olat/selenium/page/repository/FeedPage.java b/src/test/java/org/olat/selenium/page/repository/FeedPage.java
index 49f9e9b47ecaebac4549235851f588c61c855b3d..0c2d36727c9f1fcfbe97e9e6f3011b1e04ee27c8 100644
--- a/src/test/java/org/olat/selenium/page/repository/FeedPage.java
+++ b/src/test/java/org/olat/selenium/page/repository/FeedPage.java
@@ -110,7 +110,7 @@ public class FeedPage {
 		//save the settings
 		By saveButton = By.xpath("//div[contains(@class,'modal-body')]//form//button[contains(@class,'btn-primary')]");
 		browser.findElement(saveButton).click();
-		OOGraphene.waitBusy(browser);
+		OOGraphene.waitBusy(browser, 20);
 		return this;
 	}