diff --git a/Assets/Scripts/InventoryStuff/Scroll.cs b/Assets/Scripts/InventoryStuff/Scroll.cs
index 15277b220ef58a91c43d020df48bbe91c65b9741..8b77dd0d57a66604ec237569156c60ad7222d11a 100644
--- a/Assets/Scripts/InventoryStuff/Scroll.cs
+++ b/Assets/Scripts/InventoryStuff/Scroll.cs
@@ -104,6 +104,13 @@ public class ScrollAssignment
         public OMS assignment;
     }
 
+    public class ScrollApplicationInfo
+    {
+        public Boolean valid;
+        public ScrollApplicationCheckingError[] errors;
+        public List<Scroll.ScrollFact> acquiredFacts;
+    }
+
     public class ScrollDynamicInfo
     {
         public Scroll original;
diff --git a/Assets/Scripts/InventoryStuff/ScrollDetails.cs b/Assets/Scripts/InventoryStuff/ScrollDetails.cs
index 50b9d2237e91e9696489ec4ef78957e8fa95ce5e..9cdf4d536ea7f67a47948bb967f94bcb576cda13 100644
--- a/Assets/Scripts/InventoryStuff/ScrollDetails.cs
+++ b/Assets/Scripts/InventoryStuff/ScrollDetails.cs
@@ -72,8 +72,9 @@ public void magicButton()
             PushoutFactFailEvent.Invoke(null);
             return;
         }
-        List<Scroll.ScrollFact> pushoutFacts = JsonConvert.DeserializeObject<List<Scroll.ScrollFact>>(answer);
-        readPushout(pushoutFacts);
+
+        Scroll.ScrollApplicationInfo pushout = JsonConvert.DeserializeObject<Scroll.ScrollApplicationInfo>(answer);
+        readPushout(pushout.acquiredFacts);
     }
 
     public void newAssignment()
@@ -148,7 +149,11 @@ private void readPushout(List<Scroll.ScrollFact> pushoutFacts)
     }
 
     public void processScrollDynamicInfo(Scroll.ScrollDynamicInfo scrollDynamicInfo) {
-        LatestCompletions = scrollDynamicInfo.completions[0];
+
+        if (scrollDynamicInfo.completions.Count != 0)
+            LatestCompletions = scrollDynamicInfo.completions[0];
+        else
+            LatestCompletions = new List<Scroll.ScrollAssignment>();
 
         List<string> completionUris = new List<string>();
         foreach (Scroll.ScrollAssignment currentCompletion in LatestCompletions) {