diff --git a/src/main/java/ui/avatarbd/AvatarBDBlock.java b/src/main/java/ui/avatarbd/AvatarBDBlock.java
index 6ab03252889f766fcae612f980257c67388b4c71..e6121e8edd76c2cf90bef196ae2ca73c63544d48 100644
--- a/src/main/java/ui/avatarbd/AvatarBDBlock.java
+++ b/src/main/java/ui/avatarbd/AvatarBDBlock.java
@@ -981,7 +981,7 @@ public class AvatarBDBlock extends TGCScalableWithInternalComponent implements S
                                     //addCryptoElements();
                                 }
 
-                                am = AvatarMethod.isAValidMethod(method);
+                                am = AvatarMethod.isAValidMethod(method, null, false);
                                 if (am != null) {
                                     //TraceManager.addDev("Setting to " + implementation + " the implementation of " + am);
                                     am.setImplementationProvided(implementation);
@@ -1344,12 +1344,16 @@ public class AvatarBDBlock extends TGCScalableWithInternalComponent implements S
     }
 
     public void addMethodIfApplicable(String methodString) {
+        addMethodIfApplicable(methodString, tdp.getExtraTypes());
+    }
+
+    public void addMethodIfApplicable(String methodString, List<String> extraTypes) {
         for (AvatarMethod am : this.myMethods)
             // TODO: replace by a more OO way...
             if (am.toString().equals(methodString))
                 return;
 
-        AvatarMethod am = AvatarMethod.isAValidMethod(methodString);
+        AvatarMethod am = AvatarMethod.isAValidMethod(methodString, extraTypes, true);
         if (am != null)
             this.myMethods.add(am);
     }