diff --git a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
index 643f1da05..09fa8e901 100644
--- a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
+++ b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
@@ -1896,4 +1896,5 @@
+
\ No newline at end of file
diff --git a/sources/Application/Helper/Session.php b/sources/Application/Helper/Session.php
index ca2d7585d..9a90ca5b4 100644
--- a/sources/Application/Helper/Session.php
+++ b/sources/Application/Helper/Session.php
@@ -25,16 +25,18 @@ class Session
public static function Start()
{
+ if (!self::$bIsInitialized) {
+ session_name('itop-'.md5(APPROOT));
+ }
self::$bIsInitialized = true;
if (!self::$bSessionStarted) {
- session_name('itop-'.md5(APPROOT));
if (!is_null(self::$iSessionId)) {
- session_id(self::$iSessionId);
- self::$bSessionStarted = session_start();
- } else {
- self::$bSessionStarted = session_start();
- self::$iSessionId = session_id();
+ if (session_id(self::$iSessionId) === false) {
+ session_regenerate_id();
+ }
}
+ self::$bSessionStarted = session_start();
+ self::$iSessionId = session_id();
}
}