diff --git a/core/js/eventsource.js b/core/js/eventsource.js
index dece1a69d048bf5399ce259750695291dc425a4d..34bce60c24a77178125fb5d9be752adae9b8fcc4 100644
--- a/core/js/eventsource.js
+++ b/core/js/eventsource.js
@@ -33,8 +33,12 @@
  */
 OC.EventSource=function(src,data){
 	var dataStr='';
-	for(name in data){
-		dataStr+=name+'='+encodeURIComponent(data[name])+'&';
+	this.typelessListeners=[];
+	this.listeners={};
+	if(data){
+		for(name in data){
+			dataStr+=name+'='+encodeURIComponent(data[name])+'&';
+		}
 	}
 	if(!this.useFallBack && typeof EventSource !='undefined'){
 		this.source=new EventSource(src+'?'+dataStr);
@@ -42,7 +46,7 @@ OC.EventSource=function(src,data){
 			for(var i=0;i<this.typelessListeners.length;i++){
 				this.typelessListeners[i](JSON.parse(e.data));
 			}
-		}
+		}.bind(this);
 	}else{
 		iframeId='oc_eventsource_iframe_'+OC.EventSource.iframeCount;
 		OC.EventSource.fallBackSources[OC.EventSource.iframeCount]=this;