diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java
index 9dc98f082faccd9edbf349cc64bf7a2908b90503..6efdcfc9db7e1818b0d8c7528360028584ed649f 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -18,6 +18,8 @@
  */
 package de.thm.arsnova.services;
 
+import java.util.List;
+
 import de.thm.arsnova.entities.Feedback;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
@@ -33,4 +35,5 @@ public interface ISessionService {
 	public String generateKeyword();
 	public void addUserToSessionMap(String username, String keyword);
 	public boolean isUserInSession(User user, String keyword);
+	public List<String> getUsersInSession(String keyword);
 }
\ No newline at end of file
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 29abd915f7dbf541f5d70879e81c83aae46c5f78..d113764f420269f8a4a03dd42e91c373c307b270 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 
 import net.sf.json.JSONObject;
@@ -223,10 +224,21 @@ public class SessionService implements ISessionService {
 		return keyword.equals(session);
 	}
 	
+	@Override
+	public List<String> getUsersInSession(String keyword) {
+		List<String> result = new ArrayList<String>();
+		for(Entry<String, String> e : user2session.entrySet()) {
+			if(e.getValue().equals(keyword)) {
+				result.add(e.getKey());
+			}
+		}
+		return result;
+	}	
+	
 	@Override
 	@Transactional(isolation=Isolation.READ_COMMITTED)
 	public void addUserToSessionMap(String username, String keyword) {
-		user2session.putIfAbsent(username, keyword);	
+		user2session.put(username, keyword);	
 	}
 	
 	private String getSessionId(String keyword) {
diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
index 541f0b66cfddab0a2bdab26490189c95259fc64d..93e061eee6b81ea43d47937ba3403ec789da8672 100644
--- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
+++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
@@ -3,6 +3,7 @@ package de.thm.arsnova.socket;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.InputStream;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -66,13 +67,29 @@ public class ARSnovaSocketIOServer {
 				new DataListener<Feedback>() {
 					@Override
 					public void onData(SocketIOClient client, Feedback data) {
+						/**
+						 * do a check if user is in the session, for which he would give a feedback
+						 */
 						User u = session2user.get(client.getSessionId().toString());
 						if(u == null || sessionService.isUserInSession(u, data.getSessionkey()) == false) {
 							return;
 						}
 						sessionService.postFeedback(data.getSessionkey(), data.getValue(), u);
+						
+						/**
+						 * collect a list of users which are in the current session
+						 * iterate over all connected clients and if send feedback, 
+						 * if user is in current session
+						 */
+						List<String> users = sessionService.getUsersInSession(data.getSessionkey());
 						de.thm.arsnova.entities.Feedback fb = sessionService.getFeedback(data.getSessionkey());
-						server.getBroadcastOperations().sendEvent("updateFeedback", fb.getValues());
+						
+						for(SocketIOClient c : server.getAllClients()) {
+							u = session2user.get(c.getSessionId().toString());
+							if(u != null && users.contains(u.getUsername())) {
+								c.sendEvent("updateFeedback", fb.getValues());
+							}
+						}
 					}
 		});