diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php
index 0b12677200aa8b06e16a429348242d7f75d5eb01..fe57834ad0e2a3df789734c3827259315509d502 100644
--- a/interface/lib/classes/plugin_listview.inc.php
+++ b/interface/lib/classes/plugin_listview.inc.php
@@ -77,6 +77,7 @@ class plugin_listview extends plugin_base {
                 // Setting Returnto information in the session
                 $list_name = $app->listform->listDef["name"];
                 $_SESSION["s"]["list"][$list_name]["parent_id"] = $app->tform_actions->id;
+				$_SESSION["s"]["list"][$list_name]["parent_name"] = $app->tform->formDef["name"];
                 $_SESSION["s"]["list"][$list_name]["parent_tab"] = $_SESSION["s"]["form"]["tab"];
                 $_SESSION["s"]["list"][$list_name]["parent_script"] = $app->tform->formDef["action"];
                 $_SESSION["s"]["form"]["return_to"] = $list_name;
diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index f90c0559e61541b6ed9057e795f0a1c13e65a830..28b23b01af249cb818c0908fc478f02d90cedf6c 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -115,8 +115,8 @@ class tform_actions {
                         }
 
                         if($_REQUEST["next_tab"] == '') {
-                                if($_SESSION["s"]["form"]["return_to"] != '') {
-                                        $list_name = $_SESSION["s"]["form"]["return_to"];
+                                $list_name = $_SESSION["s"]["form"]["return_to"];
+								if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
                                         $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
                                         $_SESSION["s"]["form"]["return_to"] = '';
                                         session_write_close();
@@ -153,8 +153,8 @@ class tform_actions {
                         }
 
                         if($_REQUEST["next_tab"] == '') {
-                            if($_SESSION["s"]["form"]["return_to"] != '') {
-                                        $list_name = $_SESSION["s"]["form"]["return_to"];
+                            $list_name = $_SESSION["s"]["form"]["return_to"];
+								if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
                                         $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
                                         $_SESSION["s"]["form"]["return_to"] = '';
                                         session_write_close();
@@ -236,8 +236,8 @@ class tform_actions {
                 }
 
                 //header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]);
-                if($_SESSION["s"]["form"]["return_to"] != '') {
-                        $list_name = $_SESSION["s"]["form"]["return_to"];
+                $list_name = $_SESSION["s"]["form"]["return_to"];
+				if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
                         $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
                         $_SESSION["s"]["form"]["return_to"] = '';
                         session_write_close();