diff --git a/src/main/java/ai/AIBlock.java b/src/main/java/ai/AIBlock.java
index bcce03124d0b20f802058cf127237fb23fed7ebd..22e7c2f904680a1da0d190f1f8912967383d19db 100644
--- a/src/main/java/ai/AIBlock.java
+++ b/src/main/java/ai/AIBlock.java
@@ -86,12 +86,15 @@ public class AIBlock extends AIInteract {
             boolean ok = makeQuestion(questionT);
             if (!ok) {
                 done = true;
+                TraceManager.addDev("Make question failed");
             }
             try {
-                specification = AvatarSpecification.fromJSON(chatData.lastAnswer, "design", null);
+                TraceManager.addDev("Making specification from " + chatData.lastAnswer);
+                specification = AvatarSpecification.fromJSON(extractJSON(), "design", null);
                 TraceManager.addDev(" Avatar spec=" + specification);
                 done = true;
             } catch (org.json.JSONException e) {
+                TraceManager.addDev("Invalid JSON spec: " + extractJSON() + " because " + e.getMessage());
                 done = true;
             }
         }
diff --git a/src/main/java/avatartranslator/AvatarSpecification.java b/src/main/java/avatartranslator/AvatarSpecification.java
index 94c0c6dc7199cb476b10e08ebc8e51d573f1e37e..1f0da4317316a5ee1c241176914a063f043a65a5 100644
--- a/src/main/java/avatartranslator/AvatarSpecification.java
+++ b/src/main/java/avatartranslator/AvatarSpecification.java
@@ -526,7 +526,7 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec {
         int indexStop = _spec.lastIndexOf('}');
 
         if ((indexStart == -1) || (indexStop == -1) || (indexStart > indexStop)) {
-            throw new org.json.JSONException("Invalid JSON object");
+            throw new org.json.JSONException("Invalid JSON object (start)");
         }
 
         _spec = _spec.substring(indexStart, indexStop + 1);
@@ -551,12 +551,14 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec {
 
                 try {
                     JSONArray attributesA = blockO.getJSONArray("attributes");
+                    if (attributesA != null) {
 
-                    for (int j = 0; j < attributesA.length(); j++) {
-                        String nameA = spec.removeSpaces(attributesA.getJSONObject(j).getString("name"));
-                        String typeA = attributesA.getJSONObject(j).getString("type");
-                        AvatarAttribute aa = new AvatarAttribute(nameA, AvatarType.getType(typeA), newBlock, _referenceObject);
-                        newBlock.addAttribute(aa);
+                        for (int j = 0; j < attributesA.length(); j++) {
+                            String nameA = spec.removeSpaces(attributesA.getJSONObject(j).getString("name"));
+                            String typeA = attributesA.getJSONObject(j).getString("type");
+                            AvatarAttribute aa = new AvatarAttribute(nameA, AvatarType.getType(typeA), newBlock, _referenceObject);
+                            newBlock.addAttribute(aa);
+                        }
                     }
                 } catch (JSONException je) {
                 }
@@ -610,11 +612,14 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec {
 
             }
         }
-
-        JSONArray connections = mainObject.getJSONArray("connections");
+        JSONArray connections = null;
+        try {
+            connections = mainObject.getJSONArray("connections");
+        } catch (JSONException je) {
+        }
 
         if (connections == null) {
-            jsonErrors.add("No connections between blocks");
+            //jsonErrors.add("No connections between blocks");
             TraceManager.addDev("No connections in json");
             return spec;
         }
diff --git a/src/main/java/ui/window/JFrameAI.java b/src/main/java/ui/window/JFrameAI.java
index e45b620584185771d2d5e185a0b30b12e8dcff94..19081e9cf692f44da17cd46ee5533097a00e24de 100644
--- a/src/main/java/ui/window/JFrameAI.java
+++ b/src/main/java/ui/window/JFrameAI.java
@@ -404,7 +404,7 @@ public class JFrameAI extends JFrame implements ActionListener {
         String[] names = {"pico", "zebre", "pingouin", "chien", "minou", "kitty", "chaton", "whatsapp", "Luke Skywalker",
                 "macareux", "ours", "italien", "paris-brest", "belle-mère", "apéro (l'abus d'alcool est dangereux pour la santé)",
                 "carpe", "crocodile", "psychologue", "dr emacs", "3615-TTool", "100 balles et 1 mars",
-                "opéra (l’abus d’Alcôve est dangereux pour la santé)", "chapon", "perroquet"};
+                "opéra (l’abus d’Alcôve est dangereux pour la santé)", "chapon", "perroquet", "chameau volant", "Alice", "Oasis"};
         int x = (int) (Math.random() * names.length);
         return names[x];
     }
@@ -467,6 +467,7 @@ public class JFrameAI extends JFrame implements ActionListener {
             return ;
         }
 
+
         TraceManager.addDev("Class of answer: " + selectedChat.aiInteract.getClass().getName());
 
         if (selectedChat.aiInteract instanceof ai.AIBlock) {