diff --git a/extension/Classes/Core/AbstractBuildForm.php b/extension/Classes/Core/AbstractBuildForm.php
index 5f3c673efbe58a8a7f4d9cb90bfcec54a9d1f8fe..1dd508fdf2de52a7178fb1707616c97924864b07 100644
--- a/extension/Classes/Core/AbstractBuildForm.php
+++ b/extension/Classes/Core/AbstractBuildForm.php
@@ -170,6 +170,11 @@ abstract class AbstractBuildForm {
         ];
 
         $this->symbol[SYMBOL_DELETE] = "<span class='glyphicon " . GLYPH_ICON_DELETE . "'></span>";
+
+        $this->ttContentUid = $this->store->getVar(TYPO3_TT_CONTENT_UID, STORE_TYPO3);
+        $this->formId = $this->formSpec[F_ID] ?? 0;
+        $this->recordId = $this->store->getVar(CLIENT_RECORD_ID, STORE_SIP . STORE_RECORD . STORE_TYPO3 . STORE_ZERO);
+
     }
 
     abstract public function fillWrap();
@@ -620,7 +625,7 @@ abstract class AbstractBuildForm {
      */
     public function getFormTagAttributes() {
 
-        $attribute['id'] = $this->getFormId();
+        $attribute['id'] = $this->getFormId($this->ttContentUid, $this->formId, $this->recordId);
         $attribute['method'] = 'post';
         $attribute['action'] = $this->getActionUrl();
         $attribute['target'] = '_top';
@@ -638,14 +643,14 @@ abstract class AbstractBuildForm {
      *
      * @return string
      */
-    public function getFormId() {
-        if ($this->formId === null) {
-//            $this->formId = uniqid('qfq-form-');
-            $this->formId = 'qfq-form-' . $this->store->getVar(TYPO3_TT_CONTENT_UID, STORE_TYPO3) . '-'
-                . $this->formSpec[F_ID] . '-' . $this->store->getVar(CLIENT_RECORD_ID, STORE_TYPO3 . STORE_SIP . STORE_RECORD . STORE_ZERO);
-        }
+    public static function getFormId(string $ttContentUid, string $formId, string $recordId) {
+        //            $this->formId = uniqid('qfq-form-');
+//      $this->formId = 'qfq-form-' . $this->store->getVar(TYPO3_TT_CONTENT_UID, STORE_TYPO3) . '-'
+//                . $this->formSpec[F_ID] . '-' . $this->store->getVar(CLIENT_RECORD_ID, STORE_SIP . STORE_RECORD . STORE_TYPO3 . STORE_ZERO);
+
 
-        return $this->formId;
+        //return $this->formId;
+        return 'qfq-form-' . $ttContentUid . '-' . $formId . '-' . $recordId;
     }
 
     /**
@@ -906,9 +911,7 @@ abstract class AbstractBuildForm {
             // Typically: $htmlElementNameIdZero = true
             // After Saving a record, staying on the form, the FormElements on the Client are still known as '<feName>:0'.
             $htmlFormElementName = HelperFormElement::buildFormElementName($formElement, ($htmlElementNameIdZero) ? 0 : $recordId);
-            $formElement[FE_HTML_ID] = HelperFormElement::buildFormElementId($this->getFormId(), $formElement[FE_ID],
-                ($htmlElementNameIdZero) ? 0 : $recordId,
-                $formElement[FE_TG_INDEX]);
+            $formElement[FE_HTML_ID] = HelperFormElement::buildFormElementId($this->getFormId($this->ttContentUid, $this->formId, $this->recordId), $formElement[FE_ID], $formElement[FE_TG_INDEX]);
 
             $jsonElement = array();
             $elementExtra = '';
diff --git a/extension/Classes/Core/BuildFormBootstrap.php b/extension/Classes/Core/BuildFormBootstrap.php
index feb071a61f86b31cc1379483c3711adb38386918..dcd11ac46078ce15d14ea67f0ff45163680fbe11 100644
--- a/extension/Classes/Core/BuildFormBootstrap.php
+++ b/extension/Classes/Core/BuildFormBootstrap.php
@@ -448,7 +448,7 @@ class BuildFormBootstrap extends AbstractBuildForm {
         $class = Support::doAttribute('class', $class);
         $dataClassOnChange = Support::doAttribute('data-class-on-change', $buttonOnChangeClass);
         $tooltip = Support::doAttribute('title', $tooltip);
-        $formId = $this->getFormId();
+        $formId = $this->getFormId($this->ttContentUid, $this->formSpec[F_ID], $this->recordId);
 
         return "<button id='$buttonHtmlId-$formId' type='button' $class $dataClassOnChange $tooltip $disabled>$element</button>";
     }
@@ -628,7 +628,7 @@ class BuildFormBootstrap extends AbstractBuildForm {
         $actionDelete = FILE_ACTION . '=' . FILE_ACTION_DELETE;
 
         # Replacing the attributes set via tail / javascript
-        $attribute["data-form-id"] = $this->getFormId();
+        $attribute["data-form-id"] = $this->getFormId($this->ttContentUid, $this->formSpec[F_ID], $this->recordId);
         $attribute["data-tabs-id"] = $this->getTabId();
         if (0 < ($recordId = $this->store->getVar(SIP_RECORD_ID, STORE_SIP))) {
             $attribute["data-delete-url"] = $this->createDeleteUrl($this->formSpec[F_FINAL_DELETE_FORM], $recordId);
diff --git a/extension/Classes/Core/Helper/HelperFormElement.php b/extension/Classes/Core/Helper/HelperFormElement.php
index bdd88c9ee2015bd350449e71bfcf46b740379b06..0806d09e0daa744bbbfedff081d3989871dfc7a2 100644
--- a/extension/Classes/Core/Helper/HelperFormElement.php
+++ b/extension/Classes/Core/Helper/HelperFormElement.php
@@ -8,6 +8,7 @@
 
 namespace IMATHUZH\Qfq\Core\Helper;
 
+use IMATHUZH\Qfq\Core\AbstractBuildForm;
 use IMATHUZH\Qfq\Core\Evaluate;
 use IMATHUZH\Qfq\Core\Store\Store;
 
@@ -180,8 +181,8 @@ class HelperFormElement {
      *
      * @return string
      */
-    public static function buildFormElementId($formId, $formElementId, $recordId, $formElementCopy) {
-        return "$formId" . HTML_DELIMITER_ID . "$formElementId" . HTML_DELIMITER_ID . "$recordId" . HTML_DELIMITER_ID . "$formElementCopy";
+    public static function buildFormElementId($formId, $formElementId, $formElementCopy) {
+        return "$formId" . HTML_DELIMITER_ID . "$formElementId" . HTML_DELIMITER_ID . "$formElementCopy";
     }
 
 
@@ -200,7 +201,9 @@ class HelperFormElement {
 
             switch ($fe[FE_CLASS]) {
                 case FE_CLASS_CONTAINER:
-                    $feSpecNative[$key][FE_HTML_ID] = self::buildFormElementId($formId, $fe[FE_ID], $recordId, $formElementCopy);
+                    self::$store = Store::getInstance();
+                    $ttContentUid = self::$store->getVar(TYPO3_TT_CONTENT_UID, STORE_TYPO3);
+                    $feSpecNative[$key][FE_HTML_ID] = self::buildFormElementId(AbstractBuildForm::getFormId($ttContentUid, $formId, $recordId), $fe[FE_ID], $formElementCopy);
                     break;
                 default:
                     break;
diff --git a/extension/Classes/Core/QuickFormQuery.php b/extension/Classes/Core/QuickFormQuery.php
index 23dfb9cf438294fcd224f07a9af4bb6068c28010..faa84b184846623f21813a4b6304aeb335cd7e72 100644
--- a/extension/Classes/Core/QuickFormQuery.php
+++ b/extension/Classes/Core/QuickFormQuery.php
@@ -385,7 +385,9 @@ class QuickFormQuery {
         }
 
         if ($this->store->getVar(TYPO3_DEBUG_SHOW_BODY_TEXT, STORE_TYPO3) === 'yes') {
-            $htmlId = HelperFormElement::buildFormElementId($this->formSpec[F_ID], 0, 0, 0);
+            $ttContentUid = $this->store->getVar(TYPO3_TT_CONTENT_UID, STORE_TYPO3);
+
+            $htmlId = HelperFormElement::buildFormElementId($ttContentUid, 0, 0);
             $html .= Support::doTooltip($htmlId . HTML_ID_EXTENSION_TOOLTIP, $this->t3data[T3DATA_BODYTEXT]);
         }
 
diff --git a/extension/Tests/Unit/Core/BuildFormPlainTest.php b/extension/Tests/Unit/Core/BuildFormPlainTest.php
index c9733c71eb9ff035a61f1418bf3ae3162307faf3..7d717bc9ae4c4c2ead08e41f642c76b9f7ccf4df 100644
--- a/extension/Tests/Unit/Core/BuildFormPlainTest.php
+++ b/extension/Tests/Unit/Core/BuildFormPlainTest.php
@@ -38,11 +38,11 @@ class BuildFormPlainTest extends AbstractDatabaseTest {
      */
     public function testGetFormId() {
         $build = new BuildFormPlain([F_DB_INDEX => DB_INDEX_DEFAULT], array(), array(), $this->dbArray);
-
-        $formId1 = $build->getFormId();
+        $formId = 0;
+        $formId1 = $build->getFormId($build->ttContentUid, $formId, $build->recordId);
         $this->assertMatchesRegularExpression('/qfq-form-[0-9]*-[0-9]*-[0-9]*/', $formId1);
 
-        $formId2 = $build->getFormId();
+        $formId2 = $build->getFormId($build->ttContentUid, $formId, $build->recordId);
         $this->assertEquals($formId1, $formId2);
 
         /*