diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java
index c11ff22e895e55cf806a8e660fa15428a2aa3eaf..3918521b6ca6c24faa9f4b05086d3a9dc01f83a8 100644
--- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java
+++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java
@@ -71,7 +71,6 @@ public class AvatarFromSysML {
         out.println(_err.toString());
     }
     public AvatarSpecification sysMLtoSpec(String _fileName) {
-        System.out.println("$$$$$$$$$$ BEGINNING $$$$$$$$$$$$");
         AvatarFromSysMLParser parser;
         try { parser =
                 new AvatarFromSysMLParser(new AvatarFromSysMLLexer(new FileReader(_fileName)),
@@ -315,21 +314,25 @@ public class AvatarFromSysML {
                 buildProfile(sm, am, theBlock);
                 String returnType = sm.getReturnType();
                 if (returnType == null || returnType.length() == 0) continue;
-                if (returnType.equals("Integer"))
-                    am.addOriginalReturnParameter(new AvatarAttribute("return", AvatarType.INTEGER, theBlock, null));
-                else if (returnType.equals("Boolean"))
-                    am.addOriginalReturnParameter(new AvatarAttribute("return", AvatarType.BOOLEAN, theBlock, null));
-                else {
+                if (returnType.equals("Integer")) {
+                    am.addReturnParameter(new AvatarAttribute("return__0", AvatarType.INTEGER, theBlock, null));
+                    am.addOriginalReturnParameter(new AvatarAttribute("return__", AvatarType.INTEGER, theBlock, null));
+               }
+                else if (returnType.equals("Boolean")) {
+                    am.addReturnParameter(new AvatarAttribute("return__0", AvatarType.BOOLEAN, theBlock, null));
+                    am.addOriginalReturnParameter(new AvatarAttribute("return__", AvatarType.BOOLEAN, theBlock, null));
+                }
+               else {
                     AvatarDataType adt = avSpec.getDataTypeByName(returnType);
                     if (adt == null)
                         addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, sm.getLeft(),
                                 "unknown type for method return parameter", null));
-                    AvatarAttribute ret = new AvatarAttribute("return", AvatarType.UNDEFINED, theBlock, null);
+                    AvatarAttribute ret = new AvatarAttribute("return__", AvatarType.UNDEFINED, theBlock, null);
                     ret.setDataType(adt);
                     am.addOriginalReturnParameter(ret);
                     int dtsize = adt.getFullSize();
                     for (int j = 0; j < dtsize; j++) {
-                        ret = new AvatarAttribute("return__" + adt.getFieldString(j),
+                        ret = new AvatarAttribute("return__" + j,
                                  adt.getFieldStringType(j), theBlock, null);
                         am.addReturnParameter(ret);
                     }
@@ -719,10 +722,16 @@ public class AvatarFromSysML {
                 aa = new AvatarAttribute(ss.getFieldName(i), AvatarType.INTEGER, b, null);
                 am.addOriginalParameter(aa);
                 aa.setAsConstant(false);
-            } else if (type.equals("Boolean")) {
+                aa = new AvatarAttribute(ss.getFieldName(i), AvatarType.INTEGER, b, null);
+                am.addParameter(aa);
+                aa.setAsConstant(false);
+           } else if (type.equals("Boolean")) {
                 aa = new AvatarAttribute(ss.getFieldName(i), AvatarType.BOOLEAN, b, null);
                 am.addOriginalParameter(aa);
                 aa.setAsConstant(false);
+                aa = new AvatarAttribute(ss.getFieldName(i), AvatarType.BOOLEAN, b, null);
+                am.addParameter(aa);
+                aa.setAsConstant(false);
             } else {
                 AvatarDataType adt = avSpec.getDataTypeByName(type);
                 if (adt == null) {
diff --git a/src/main/java/ui/AvatarDesignPanelTranslator.java b/src/main/java/ui/AvatarDesignPanelTranslator.java
index 73902261d7d958f4614b57162f7b8397a95ddb8c..6edfce0bc60acb3975b4b97143ae5e9c76b80d20 100644
--- a/src/main/java/ui/AvatarDesignPanelTranslator.java
+++ b/src/main/java/ui/AvatarDesignPanelTranslator.java
@@ -1388,6 +1388,8 @@ public class AvatarDesignPanelTranslator {
         if ((rt.compareTo("int") == 0) || (rt.compareTo("bool") == 0)) {
             aa = new AvatarAttribute("return__0", AvatarType.getType(rt), _ab, _block);
             _atam.addReturnParameter(aa);
+            aa = new AvatarAttribute("return__", AvatarType.getType(rt), _ab, _block);
+            _atam.addOriginalReturnParameter(aa);
         } else {
             List<TAttribute> types = adp.getAvatarBDPanel().getAttributesOfDataType(rt);
             if (types == null) {
diff --git a/src/main/java/ui/AvatarMethod.java b/src/main/java/ui/AvatarMethod.java
index 8fce54de90585a7e43f437052ce22ccb41dedf79..dfa8eb862dbffbbe401d4d53ca1edc133da85878 100644
--- a/src/main/java/ui/AvatarMethod.java
+++ b/src/main/java/ui/AvatarMethod.java
@@ -152,7 +152,7 @@ public class AvatarMethod {
                 // So, there is a return type!
                 rt = tmp.trim();
                 method = method.substring(index2 + 1, method.length()).trim();
-                if (!isAValidId(rt, false, false, false, checkTypes, extraTypes)) {
+                if (!isAValidId(rt, false, false, false, false, extraTypes)) {
                     TraceManager.addDev("Unvalid return type: " + rt);
                     return null;
                 }