diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java
index 92d64fb2be6839c311db8a2e28821150f1cfc682..c0bb0e8d07aa35f2759f3b39e9ec31edc2b1bfb1 100644
--- a/src/main/java/de/thm/arsnova/controller/SessionController.java
+++ b/src/main/java/de/thm/arsnova/controller/SessionController.java
@@ -194,10 +194,14 @@ public class SessionController extends AbstractController {
 
 	@RequestMapping(value = "/publicpool", method = RequestMethod.GET)
 	public final List<Session> getPublicPoolSessions(
+			@RequestParam(value = "myonly", defaultValue = "false") final boolean myOnly,
 			final HttpServletResponse response
 			) {
 		List<Session> sessions;
-		sessions = sessionService.getPublicPoolSessions();
+		if (!myOnly)
+			sessions = sessionService.getPublicPoolSessions();
+		else
+			sessions = sessionService.getMyPublicPoolSessions();
 
 		if (sessions == null || sessions.isEmpty()) {
 			response.setStatus(HttpServletResponse.SC_NO_CONTENT);
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 8e6a06161e2775dd5415c6df97d633cd869e9b09..25e78b55bda58b5f1168cbcf2c1603b48f6952c4 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -148,6 +148,28 @@ public class CouchDBDao implements IDatabaseDao {
 		return result;
 	}
 	
+	@Override
+	public final List<Session> getMyPublicPoolSessions(final User user) {
+		final NovaView view = new NovaView("session/public_pool_by_creator");
+		view.setStartKeyArray(user.getUsername());
+		view.setEndKeyArray(user.getUsername(), "{}");
+		
+		final ViewResults sessions = getDatabase().view(view);
+
+		final List<Session> result = new ArrayList<Session>();
+		for (final Document d : sessions.getResults()) {
+			final Session session = (Session) JSONObject.toBean(
+					d.getJSONObject().getJSONObject("value"),
+					Session.class
+					);
+			session.setCreator(d.getJSONObject().getJSONArray("key").getString(0));
+			session.setName(d.getJSONObject().getJSONArray("key").getString(1));
+			session.set_id(d.getId());
+			result.add(session);
+		}
+		return result;
+	}
+	
 	@Override
 	public final List<SessionInfo> getMySessionsInfo(final User user) {
 		final List<Session> sessions = this.getMySessions(user);
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index b0cada556de97f3d059ad74ed7a0d9be2a7f2173..37081dc924cd65813a68f6a9b41afde99345111d 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -43,6 +43,8 @@ public interface IDatabaseDao {
 	List<Session> getMySessions(User user);
 	
 	List<Session> getPublicPoolSessions();
+	
+	List<Session> getMyPublicPoolSessions(User user);
 
 	Session saveSession(User user, Session session);
 
diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java
index 37672066a5bd81c2d69a9eb0716b500546cf66cd..108a8ff90ec45ba856e55335abcad4a6552a04a2 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -41,6 +41,8 @@ public interface ISessionService {
 	List<Session> getMySessions();
 	
 	List<Session> getPublicPoolSessions();
+	
+	List<Session> getMyPublicPoolSessions();
 
 	List<Session> getMyVisitedSessions();
 
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 7d749784eb8d85c3573cdd7e952091bff82a77d1..dd02f5303c55a54e5360bebd8d3d6c03a4551220 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -172,6 +172,12 @@ public class SessionService implements ISessionService {
 	public final List<Session> getPublicPoolSessions() {
 		return databaseDao.getPublicPoolSessions();
 	}
+	
+	@Override
+	@PreAuthorize("isAuthenticated()")
+	public final List<Session> getMyPublicPoolSessions() {
+		return databaseDao.getMyPublicPoolSessions(userService.getCurrentUser());
+	}
 
 	@Override
 	@PreAuthorize("isAuthenticated()")
diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
index eec8823cd9f5b9dd486ac34cd3684ff6df72214d..cd89e6a55d651bbf535103eb5f7ade44dc8c2c96 100644
--- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
+++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
@@ -199,6 +199,12 @@ public class StubDatabaseDao implements IDatabaseDao {
 		// TODO Auto-generated method stub
 		return null;
 	}
+	
+	@Override
+	public List<Session> getMyPublicPoolSessions(User user) {
+		// TODO Auto-generated method stub
+		return null;
+	}
 
 	@Override
 	public LoggedIn registerAsOnlineUser(User u, Session s) {