diff --git a/src/main/java/de/thm/arsnova/controller/UserController.java b/src/main/java/de/thm/arsnova/controller/UserController.java
index a525180f92ed49a2f4b4df07cdd7234d3931ca65..c6f2e279cf47a8c62d83e8c2994dcd894c630897 100644
--- a/src/main/java/de/thm/arsnova/controller/UserController.java
+++ b/src/main/java/de/thm/arsnova/controller/UserController.java
@@ -93,4 +93,13 @@ public class UserController extends AbstractController {
 
 		response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
 	}
+
+	@RequestMapping(value = { "/{username}/delete" }, method = RequestMethod.POST)
+	public final void activate(@PathVariable final String username,
+			final HttpServletRequest request,
+			final HttpServletResponse response) {
+		if (null == userService.deleteDbUser(username)) {
+			response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+		}
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 508bf5d9bc7d35f1968aff58f58078216dd363d2..53c3d4ea81ad4e643102d2752202e61f9d1d9a6b 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -1385,4 +1385,17 @@ public class CouchDBDao implements IDatabaseDao {
 			DbUser.class
 		);
 	}
+
+	@Override
+	public boolean deleteUser(DbUser dbUser) {
+		try {
+			this.deleteDocument(dbUser.getId());
+
+			return true;
+		} catch (IOException e) {
+			LOGGER.error("Could not delete user {}", dbUser.getId());
+		}
+
+		return false;
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index b30507c2a892d4c3500af311df34b7b401418f0c..4bb273c40e83b567071c783f282f99b5baa01dc6 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -162,8 +162,10 @@ public interface IDatabaseDao {
 	void publishAllQuestions(Session session, boolean publish);
 
 	void deleteAllQuestionsAnswers(Session session);
-	
+
 	DbUser createOrUpdateUser(DbUser user);
-	
+
 	DbUser getUser(String username);
+
+	boolean deleteUser(DbUser dbUser);
 }
diff --git a/src/main/java/de/thm/arsnova/services/IUserService.java b/src/main/java/de/thm/arsnova/services/IUserService.java
index 9ed3a108b47e4e69e4c05a175fd3f01f5adc4536..f3d0800c54fa3f8679aa17723f7b1ea9d106c638 100644
--- a/src/main/java/de/thm/arsnova/services/IUserService.java
+++ b/src/main/java/de/thm/arsnova/services/IUserService.java
@@ -54,10 +54,12 @@ public interface IUserService {
 	void removeUserFromMaps(User user);
 
 	int loggedInUsers();
-	
+
 	DbUser getDbUser(String username);
-	
+
 	DbUser createDbUser(String username, String password);
-	
+
 	DbUser updateDbUser(DbUser dbUser);
+
+	DbUser deleteDbUser(String username);
 }
diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java
index a4ef5f51bc64bfd37ecfeb9aca5e582c024842ed..2a5da93977f850ac71fa655dca9502f675b70b44 100644
--- a/src/main/java/de/thm/arsnova/services/UserService.java
+++ b/src/main/java/de/thm/arsnova/services/UserService.java
@@ -45,6 +45,7 @@ import com.github.leleuj.ss.oauth.client.authentication.OAuthAuthenticationToken
 import de.thm.arsnova.dao.IDatabaseDao;
 import de.thm.arsnova.entities.DbUser;
 import de.thm.arsnova.entities.User;
+import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.exceptions.UnauthorizedException;
 import de.thm.arsnova.socket.ARSnovaSocketIOServer;
 
@@ -365,4 +366,23 @@ public class UserService implements IUserService {
 
 		return null;
 	}
+
+	@Override
+	public DbUser deleteDbUser(String username) {
+		User user = getCurrentUser();
+		if (!user.getUsername().equals(username)
+				&& SecurityContextHolder.getContext().getAuthentication().getAuthorities()
+						.contains(new SimpleGrantedAuthority("ROLE_ADMIN"))) {
+			throw new UnauthorizedException();
+		}
+
+		DbUser dbUser = databaseDao.getUser(username);
+		if (null == dbUser) {
+			throw new NotFoundException();
+		}
+
+		databaseDao.deleteUser(dbUser);
+
+		return dbUser;
+	}
 }