diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 5f7a1e7cf8a721ebcf8bb32ddbd261ab77d104e4..15be30c27c21ece6be51d7edf99361743e71b2a0 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -1376,14 +1376,14 @@ public class CouchDBDao implements IDatabaseDao {
 	}
 
 	@Override
-	public final List<String> getInactiveUsers(int timeDifference) {
+	public final List<String> getActiveUsers(int timeDifference) {
 		try {
 			long inactiveBeforeTimestamp = new Date().getTime() - timeDifference * 1000;
 
 			View view = new View("logged_in/by_and_only_timestamp_and_username");
-			view.setEndKey("[" + URLEncoder.encode(String.valueOf(inactiveBeforeTimestamp) + ",{}", "UTF-8") + "]");
+			view.setStartKey("[" + URLEncoder.encode(String.valueOf(inactiveBeforeTimestamp), "UTF-8") + "]");
 			ViewResults results = this.getDatabase().view(view);
-			LOGGER.debug("getInactiveUsers result count: {}", String.valueOf(results.size()));
+			LOGGER.debug("getActiveUsers result count: {}", String.valueOf(results.size()));
 
 			List<String> result = new ArrayList<String>();
 			for (Document d : results.getResults()) {
@@ -1392,7 +1392,7 @@ public class CouchDBDao implements IDatabaseDao {
 
 			return result;
 		} catch (UnsupportedEncodingException e) {
-			LOGGER.error("Error while retrieving inactive users", e);
+			LOGGER.error("Error while retrieving active users", e);
 		}
 		return null;
 	}
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index 74a255fb19c7dd61a11268cf463dcbb4aa67ea11..8f1fc5cc74b9f1d6c15f01ab0777c98fc1b8951e 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -134,5 +134,5 @@ public interface IDatabaseDao {
 
 	Session lockSession(Session session, Boolean lock);
 
-	List<String> getInactiveUsers(int timeDifference);
+	List<String> getActiveUsers(int timeDifference);
 }
diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java
index 9d206c4482e40a3337a1d1512f59f24ae5592ee1..6f9cadad1abf476afe229f6dc8e3796e6278dd61 100644
--- a/src/main/java/de/thm/arsnova/services/UserService.java
+++ b/src/main/java/de/thm/arsnova/services/UserService.java
@@ -64,10 +64,10 @@ public class UserService implements IUserService, InitializingBean, DisposableBe
 
 	@Scheduled(fixedDelay = DEFAULT_SCHEDULER_DELAY_MS)
 	public final void removeInactiveUsersFromLegacyMap() {
-		List<String> usernames = databaseDao.getInactiveUsers(MAX_USER_INACTIVE_SECONDS);
+		List<String> usernames = databaseDao.getActiveUsers(MAX_USER_INACTIVE_SECONDS);
 		Set<String> affectedSessions = new HashSet<String>();
 		LOGGER.info(
-			"Inactive users count: {}, user2sessionLegacy count: {}",
+			"Active users in database: {}, active users in memory (user2sessionLegacy): {}",
 			usernames.size(), user2sessionLegacy.size()
 		);
 		for (Entry<User, String> e : user2sessionLegacy.entrySet()) {
@@ -76,8 +76,12 @@ public class UserService implements IUserService, InitializingBean, DisposableBe
 			LOGGER.debug("key: {}", key);
 			String username = key.getUsername();
 			LOGGER.debug("username: {}", username);
-			if (usernames.contains(username)) {
-				affectedSessions.add(e.getValue());
+			if (!usernames.contains(username)) {
+				if (null != e.getValue()) {
+					affectedSessions.add(e.getValue());
+				} else {
+					LOGGER.warn("Session for user {} is null", key);
+				}
 				LOGGER.debug("Removing user {} from user2sessionLegacy", e.getKey());
 				user2sessionLegacy.remove(e.getKey());
 			}
diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
index 8340d0909d737ef89e09fc07075388675e78f2e3..5e8df373853d23fdb9d162b03b8a68622cc50b9f 100644
--- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
+++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
@@ -427,7 +427,7 @@ public class StubDatabaseDao implements IDatabaseDao {
 	}
 
 	@Override
-	public List<String> getInactiveUsers(int timeDifference) {
+	public List<String> getActiveUsers(int timeDifference) {
 		// TODO Auto-generated method stub
 		return null;
 	}