diff --git a/src/LGenBase/EPTF_CLL_LGenBase_EventHandlingFunctions.ttcn b/src/LGenBase/EPTF_CLL_LGenBase_EventHandlingFunctions.ttcn
index 25cb1a1..d1e7d86 100644
--- a/src/LGenBase/EPTF_CLL_LGenBase_EventHandlingFunctions.ttcn
+++ b/src/LGenBase/EPTF_CLL_LGenBase_EventHandlingFunctions.ttcn
@@ -5423,9 +5423,9 @@
                 f_EPTF_LGenBase_loggingWarning(%definitionId&": "&vl_errorMessage);
                 vl_actionList[sizeof(vl_actionList)] := vl_errorMessage;
                 var integer vl_tcIdx := f_EPTF_LGenBase_tcIdxOfFSM(e,f);
-                if (vl_tcIdx != -1 and f_EPTF_LGenBase_entityIsBusy(e, vl_tcIdx) and f_EPTF_LGenBase_get_dte_str(e,f)=="") {
+                var integer vl_eRelIdx := f_EPTF_LGenBase_getERelIdx(e);
+                if (vl_tcIdx != -1 and f_EPTF_LGenBase_entityIsBusy(vl_eRelIdx, vl_tcIdx) and f_EPTF_LGenBase_get_dte_str(e,f)=="") {
                   // if DTE occurs during handling the dynamicTCError, this is not executed (traffic error is reported => not busy) or the stored dte_str is not empty
-                  var integer vl_eRelIdx := f_EPTF_LGenBase_getERelIdx(e);
                   f_EPTF_LGenBase_set_dte_str(e,f,dte_str);
 
                   f_EPTF_LGenBase_dispatchEvent({
@@ -5437,7 +5437,7 @@
                     },
                     {vl_tcIdx,e}
                   });  
-                  if (f_EPTF_LGenBase_entityIsBusy(e, vl_tcIdx)) {
+                  if (f_EPTF_LGenBase_entityIsBusy(vl_eRelIdx, vl_tcIdx)) {
                     // if the handler did not report any success/fail/timeout or error we will report an error here:
                     f_EPTF_LGenBase_dispatchEvent({
                       {
