diff --git a/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java b/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java
index 55028efdc1288acee37263f7d7854a428054c862..c0d08649edd312205bab4ad78fa7eaf07f468103 100644
--- a/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java
+++ b/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java
@@ -1128,8 +1128,22 @@ public class TML2Avatar {
             } else {
                 //Translate state without security
                 if (ae instanceof TMLActionState) {
-                    String val = ((TMLActionState) ae).getAction();
-                    tran.addAction(reworkStringName(val));
+                    TMLActionState actionsState = (TMLActionState) ae;
+                    String[] actions = actionsState.getAction().split("\\$");
+                    boolean isReqAction = false;
+                    for (String action : actions) {
+                        action = action.replaceAll(" ", "");
+                        String[] terms = action.split("=");
+                        if (terms.length == 2) {
+                            if (terms[1].matches("arg" + "\\d+" + "__req")) {
+                                isReqAction = true;
+                            }
+                        }
+                    }
+                    if (!isReqAction) {
+                        String val = actionsState.getAction();
+                        tran.addAction(reworkStringName(val));
+                    }
                 } else if (ae instanceof TMLExecI) {
                     tran.setDelays(reworkStringName(((TMLExecI) (ae)).getAction()), reworkStringName(((TMLExecI) (ae)).getAction()));
                 } else if (ae instanceof TMLExecC) {
@@ -1873,10 +1887,31 @@ public class TML2Avatar {
                 //Create iteration attribute
                 AvatarAttribute req_loop_index = new AvatarAttribute("req_loop_index", AvatarType.INTEGER, block, null);
                 block.addAttribute(req_loop_index);
+                List<String> reqParams = new ArrayList<String>();
                 for (Object obj : tmlmodel.getRequestsToMe(task)) {
                     TMLRequest req = (TMLRequest) obj;
+                    for (TMLActivityElement  elements : task.getActivityDiagram().getElements()) {
+                        if (elements instanceof TMLActionState) {
+                            TMLActionState actionsState = (TMLActionState) elements;
+                            String[] actions = actionsState.getAction().split("\\$");
+                            boolean isReqAction = false;
+                            for (String action : actions) {
+                                action = action.replaceAll(" ", "");
+                                String[] terms = action.split("=");
+                                if (terms.length == 2) {
+                                    if (terms[1].matches("arg" + "\\d+" + "__req")) {
+                                        reqParams.add(terms[0]);
+                                        isReqAction = true;
+                                    }
+                                }
+                            }
+                            if (isReqAction) {
+                                break;
+                            }
+                        }
+                    }
                     for (int i = 0; i < req.getNbOfParams(); i++) {
-                        if (block.getAvatarAttributeWithName(req.getParam(i)) == null) {
+                        if (block.getAvatarAttributeWithName(reqParams.get(i)) == null) {
                             AvatarType type;
                             if (req.getParam(i).matches("-?\\d+")) {
                                 type = AvatarType.INTEGER;
@@ -1974,12 +2009,12 @@ public class TML2Avatar {
 						AvatarAttribute requestData= new AvatarAttribute(req.getName()+"__reqData", AvatarType.INTEGER, block, null);
 						block.addAttribute(requestData);*/
                     for (int i = 0; i < req.getNbOfParams(); i++) {
-                        if (block.getAvatarAttributeWithName(req.getParam(i)) == null) {
+                        if (block.getAvatarAttributeWithName(reqParams.get(i)) == null) {
                             String nameNewAtt = "arg"+ (i+1) +"_req";
                             as.addValue(block.getAvatarAttributeWithName(nameNewAtt).getName());
                         } else {
                             //	Add parameter to signal and actiononsignal
-                            as.addValue(req.getParam(i));
+                            as.addValue(reqParams.get(i));
                         }
                     }
                     AvatarTransition tran = new AvatarTransition(block, "__after_" + req.getName(), task.getActivityDiagram().get(0).getReferenceObject());