diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java
index 61fba7b5cb0024edda786c4f381c4416850b7ca3..548136ab62ed118ecb53ef3f41d377dd48729413 100644
--- a/src/main/java/de/thm/arsnova/controller/SessionController.java
+++ b/src/main/java/de/thm/arsnova/controller/SessionController.java
@@ -326,6 +326,15 @@ public class SessionController extends PaginationController {
 		return sessionInfo;
 	}
 
+	@ApiOperation(value = "copy a session from the public pool if enabled")
+	@RequestMapping(value = "/{sessionkey}/copyfrompublicpool", method = RequestMethod.POST)
+	public SessionInfo copyFromPublicPool(
+			@ApiParam(value = "session-key of the public pool session", required = true) @PathVariable final String sessionkey,
+			@ApiParam(value = "custom attributes for session", required = true) @RequestBody final Session sessionAttributes
+			) {
+		SessionInfo sessionInfo = sessionService.copySessionFromPublicPool(sessionkey, sessionAttributes);
+		return sessionInfo;
+	}
 
 	@ApiOperation(value = "Locks or unlocks a Session",
 			nickname = "lockSession")
diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java
index d5bd85aef3ff0a9cc76a4b606b40f6d3ef4b9aa9..71833870fe95358f96886ea4bc35da4e710693c8 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -86,6 +86,8 @@ public interface ISessionService {
 
 	SessionInfo copySessionToPublicPool(String sessionkey, de.thm.arsnova.entities.transport.ImportExportSession.PublicPool pp);
 
+	SessionInfo copySessionFromPublicPool(String sessionkey, Session sessionAttributes);
+
 	SessionFeature getSessionFeatures(String sessionkey);
 
 	SessionFeature changeSessionFeatures(String sessionkey, SessionFeature features);
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 39d61752106281c8e1efc6be852b8808ae3a422a..ea6589d7db2f2a4a0066ba41c0260638d695c7d2 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -446,6 +446,22 @@ public class SessionService implements ISessionService, ApplicationEventPublishe
 		return databaseDao.importSession(user, temp);
 	}
 
+	@Override
+	@PreAuthorize("isAuthenticated() and hasPermission(#sessionkey, 'session', 'read')")
+	public SessionInfo copySessionFromPublicPool(final String sessionkey, final Session sessionAttributes) {
+		final Session ppSession = databaseDao.getSessionFromKeyword(sessionkey);
+		if (!"public_pool".equals(ppSession.getSessionType())) {
+			throw new ForbiddenException();
+		}
+		final ImportExportSession sessionContainer = databaseDao.exportSession(sessionkey, false, false);
+		final ImportExportSession.ImportExportSesssion newSession = sessionContainer.getSession();
+		newSession.setSessionType("");
+		newSession.setName(sessionAttributes.getName());
+		newSession.setShortName(sessionAttributes.getShortName());
+		final User user = userService.getCurrentUser();
+		return databaseDao.importSession(user, sessionContainer);
+	}
+
 	@Override
 	public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
 		this.publisher = publisher;