diff --git a/config-templates/config.php b/config-templates/config.php
index 2b80c424db377f1efa7bab315097d9670965eba7..4c2cc0af533fb0ff3dfcf886eafa975b89e56abb 100644
--- a/config-templates/config.php
+++ b/config-templates/config.php
@@ -123,8 +123,12 @@ $config = array (
 	'session.duration'		=>  8 * (60*60), // 8 hours.
 	'session.requestcache'	=>  4 * (60*60), // 4 hours
 	
+	/*
+	 * Options to override the default settings for php sessions.
+	 */
 	'session.phpsession.cookiename'  => null,
 	'session.phpsession.limitedpath' => false,
+	'session.phpsession.savepath'    => null,
 	
 	/*
 	 * Languages available and what language is default
diff --git a/lib/SimpleSAML/SessionHandlerPHP.php b/lib/SimpleSAML/SessionHandlerPHP.php
index d3a96f5c81f3013ac36951508f50f687f4debdc0..70a20f47ef5e1cab521a3ca47785d7d77ded64b3 100644
--- a/lib/SimpleSAML/SessionHandlerPHP.php
+++ b/lib/SimpleSAML/SessionHandlerPHP.php
@@ -41,6 +41,11 @@ class SimpleSAML_SessionHandlerPHP extends SimpleSAML_SessionHandler {
 			$cookiename = $config->getValue('session.phpsession.cookiename', NULL);
 			if (!empty($cookiename)) session_name($cookiename);
 
+			$savepath = $config->getValue('session.phpsession.savepath', NULL);
+			if(!empty($savepath)) {
+				session_save_path($savepath);
+			}
+
 			if(!array_key_exists(session_name(), $_COOKIE)) {
 				/* Session cookie unset - session id not set. Generate new (secure) session id. */
 				session_id(SimpleSAML_Utilities::stringToHex(SimpleSAML_Utilities::generateRandomBytes(16)));