diff --git a/tetras_extraction/result/macao_3/macao_content.ttl b/tetras_extraction/result/macao_3/macao_content.ttl
index 2b54d6f3b4a7b1e5d490213a8a3742a6e0675a3b..a9c44e8d6ea78484ee8041a6658658460fe7d8b7 100644
--- a/tetras_extraction/result/macao_3/macao_content.ttl
+++ b/tetras_extraction/result/macao_3/macao_content.ttl
@@ -417,8 +417,8 @@
     rdfs:subClassOf :pg1809 .
 
 :pg186_rep150 a :Reponse ;
-    :__protege_display_name "pg186_rep150 | V" ;
-    :correct true ;
+    :__protege_display_name "pg186_rep150 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep150" onmouseover="if(exo)exo.changerBouton('rep150',true)" onmouseout="if(exo)exo.changerBouton('rep150',false)" onclick="exo.action('rep150')">
                         <script type="text/javascript">ajDocW(PF_clipAV('clipAV95', 'mot11_1a.swf', '50', '19', 'false', 'Flash', '', '', 'Quality:high;wmode:transparent', '', ''));</script>
                     </div>""" ;
@@ -427,8 +427,8 @@
     rdfs:subClassOf :pg186 .
 
 :pg186_rep211 a :Reponse ;
-    :__protege_display_name "pg186_rep211 | F" ;
-    :correct false ;
+    :__protege_display_name "pg186_rep211 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep211" onmouseover="if(exo)exo.changerBouton('rep211',true)" onmouseout="if(exo)exo.changerBouton('rep211',false)" onclick="exo.action('rep211')">
                         <p>
                             <script type="text/javascript">ajDocW(PF_clipAV('clipAV37', 'mot11_1b.swf', '50', '19', 'false', 'Flash', '', '', 'Quality:high;wmode:transparent', '', ''));</script>
@@ -439,8 +439,8 @@
     rdfs:subClassOf :pg186 .
 
 :pg186_rep223 a :Reponse ;
-    :__protege_display_name "pg186_rep223 | V" ;
-    :correct true ;
+    :__protege_display_name "pg186_rep223 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep223" onmouseover="if(exo)exo.changerBouton('rep223',true)" onmouseout="if(exo)exo.changerBouton('rep223',false)" onclick="exo.action('rep223')"><b>He's
                         studied</b></div>""" ;
     :id "rep223" ;
@@ -448,8 +448,8 @@
     rdfs:subClassOf :pg186 .
 
 :pg186_rep550 a :Reponse ;
-    :__protege_display_name "pg186_rep550 | V" ;
-    :correct true ;
+    :__protege_display_name "pg186_rep550 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep550" onmouseover="if(exo)exo.changerBouton('rep550',true)" onmouseout="if(exo)exo.changerBouton('rep550',false)" onclick="exo.action('rep550')"><b></b> 
                     </div>""" ;
     :id "rep550" ;
@@ -457,8 +457,8 @@
     rdfs:subClassOf :pg186 .
 
 :pg186_rep957 a :Reponse ;
-    :__protege_display_name "pg186_rep957 | F" ;
-    :correct false ;
+    :__protege_display_name "pg186_rep957 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep957" onmouseover="if(exo)exo.changerBouton('rep957',true)" onmouseout="if(exo)exo.changerBouton('rep957',false)" onclick="exo.action('rep957')"><b>He
                         studied </b></div>""" ;
     :id "rep957" ;
@@ -1233,8 +1233,8 @@
     rdfs:subClassOf :pg3209 .
 
 :pg3531_rep150 a :Reponse ;
-    :__protege_display_name "pg3531_rep150 | F" ;
-    :correct false ;
+    :__protege_display_name "pg3531_rep150 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep150" onmouseover="if(exo)exo.changerBouton('rep150',true)" onmouseout="if(exo)exo.changerBouton('rep150',false)" onclick="exo.action('rep150')">have had
                                 </div>""" ;
     :id "rep150" ;
@@ -1242,8 +1242,8 @@
     rdfs:subClassOf :pg3531 .
 
 :pg3531_rep211 a :Reponse ;
-    :__protege_display_name "pg3531_rep211 | V" ;
-    :correct true ;
+    :__protege_display_name "pg3531_rep211 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep211" onmouseover="if(exo)exo.changerBouton('rep211',true)" onmouseout="if(exo)exo.changerBouton('rep211',false)" onclick="exo.action('rep211')">the invisibility cloak
                                 </div>""" ;
     :id "rep211" ;
@@ -1251,8 +1251,8 @@
     rdfs:subClassOf :pg3531 .
 
 :pg3531_rep49 a :Reponse ;
-    :__protege_display_name "pg3531_rep49 | V" ;
-    :correct true ;
+    :__protege_display_name "pg3531_rep49 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep49" onmouseover="if(exo)exo.changerBouton('rep49',true)" onmouseout="if(exo)exo.changerBouton('rep49',false)" onclick="exo.action('rep49')">
                                     confiscated
                                 </div>""" ;
@@ -1261,8 +1261,8 @@
     rdfs:subClassOf :pg3531 .
 
 :pg3531_rep627 a :Reponse ;
-    :__protege_display_name "pg3531_rep627 | F" ;
-    :correct false ;
+    :__protege_display_name "pg3531_rep627 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep627" onmouseover="if(exo)exo.changerBouton('rep627',true)" onmouseout="if(exo)exo.changerBouton('rep627',false)" onclick="exo.action('rep627')">Ron and Harry
                                 </div>""" ;
     :id "rep627" ;
@@ -1270,8 +1270,8 @@
     rdfs:subClassOf :pg3531 .
 
 :pg3531_rep842 a :Reponse ;
-    :__protege_display_name "pg3531_rep842 | V" ;
-    :correct true ;
+    :__protege_display_name "pg3531_rep842 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep842" onmouseover="if(exo)exo.changerBouton('rep842',true)" onmouseout="if(exo)exo.changerBouton('rep842',false)" onclick="exo.action('rep842')">feeling disappointed
                                 </div>""" ;
     :id "rep842" ;
@@ -1787,8 +1787,8 @@
     rdfs:subClassOf :act56626 .
 
 :pg4031_rep150 a :Reponse ;
-    :__protege_display_name "pg4031_rep150 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4031_rep150 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep150" onmouseover="if(exo)exo.changerBouton('rep150',true)" onmouseout="if(exo)exo.changerBouton('rep150',false)" onclick="exo.action('rep150')">(2)
                     </div>""" ;
     :id "rep150" ;
@@ -1796,8 +1796,8 @@
     rdfs:subClassOf :pg4031 .
 
 :pg4031_rep211 a :Reponse ;
-    :__protege_display_name "pg4031_rep211 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4031_rep211 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep211" onmouseover="if(exo)exo.changerBouton('rep211',true)" onmouseout="if(exo)exo.changerBouton('rep211',false)" onclick="exo.action('rep211')">(3)
                     </div>""" ;
     :id "rep211" ;
@@ -1805,8 +1805,8 @@
     rdfs:subClassOf :pg4031 .
 
 :pg4031_rep49 a :Reponse ;
-    :__protege_display_name "pg4031_rep49 | F" ;
-    :correct false ;
+    :__protege_display_name "pg4031_rep49 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep49" onmouseover="if(exo)exo.changerBouton('rep49',true)" onmouseout="if(exo)exo.changerBouton('rep49',false)" onclick="exo.action('rep49')">(4)
                     </div>""" ;
     :id "rep49" ;
@@ -1814,8 +1814,8 @@
     rdfs:subClassOf :pg4031 .
 
 :pg4031_rep627 a :Reponse ;
-    :__protege_display_name "pg4031_rep627 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4031_rep627 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep627" onmouseover="if(exo)exo.changerBouton('rep627',true)" onmouseout="if(exo)exo.changerBouton('rep627',false)" onclick="exo.action('rep627')">(1)
                     </div>""" ;
     :id "rep627" ;
@@ -1823,8 +1823,8 @@
     rdfs:subClassOf :pg4031 .
 
 :pg4031_rep842 a :Reponse ;
-    :__protege_display_name "pg4031_rep842 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4031_rep842 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep842" onmouseover="if(exo)exo.changerBouton('rep842',true)" onmouseout="if(exo)exo.changerBouton('rep842',false)" onclick="exo.action('rep842')">(5)
                     </div>""" ;
     :id "rep842" ;
@@ -1921,8 +1921,8 @@
     rdfs:subClassOf :pg4192 .
 
 :pg422_rep150 a :Reponse ;
-    :__protege_display_name "pg422_rep150 | V" ;
-    :correct true ;
+    :__protege_display_name "pg422_rep150 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep150" onmouseover="if(exo)exo.changerBouton('rep150',true)" onmouseout="if(exo)exo.changerBouton('rep150',false)" onclick="exo.action('rep150')">much
                                 </div>""" ;
     :id "rep150" ;
@@ -1930,8 +1930,8 @@
     rdfs:subClassOf :pg422 .
 
 :pg422_rep211 a :Reponse ;
-    :__protege_display_name "pg422_rep211 | V" ;
-    :correct true ;
+    :__protege_display_name "pg422_rep211 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep211" onmouseover="if(exo)exo.changerBouton('rep211',true)" onmouseout="if(exo)exo.changerBouton('rep211',false)" onclick="exo.action('rep211')">advertised
                                 </div>""" ;
     :id "rep211" ;
@@ -1939,8 +1939,8 @@
     rdfs:subClassOf :pg422 .
 
 :pg422_rep627 a :Reponse ;
-    :__protege_display_name "pg422_rep627 | F" ;
-    :correct false ;
+    :__protege_display_name "pg422_rep627 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep627" onmouseover="if(exo)exo.changerBouton('rep627',true)" onmouseout="if(exo)exo.changerBouton('rep627',false)" onclick="exo.action('rep627')">was
                                 </div>""" ;
     :id "rep627" ;
@@ -1977,8 +1977,8 @@
     rdfs:subClassOf :act765533 .
 
 :pg4396_rep150 a :Reponse ;
-    :__protege_display_name "pg4396_rep150 | F" ;
-    :correct false ;
+    :__protege_display_name "pg4396_rep150 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep150" onmouseover="if(exo)exo.changerBouton('rep150',true)" onmouseout="if(exo)exo.changerBouton('rep150',false)" onclick="exo.action('rep150')">his
                                 </div>""" ;
     :id "rep150" ;
@@ -1986,8 +1986,8 @@
     rdfs:subClassOf :pg4396 .
 
 :pg4396_rep211 a :Reponse ;
-    :__protege_display_name "pg4396_rep211 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4396_rep211 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep211" onmouseover="if(exo)exo.changerBouton('rep211',true)" onmouseout="if(exo)exo.changerBouton('rep211',false)" onclick="exo.action('rep211')">paddock
                                 </div>""" ;
     :id "rep211" ;
@@ -1995,8 +1995,8 @@
     rdfs:subClassOf :pg4396 .
 
 :pg4396_rep36 a :Reponse ;
-    :__protege_display_name "pg4396_rep36 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4396_rep36 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep36" onmouseover="if(exo)exo.changerBouton('rep36',true)" onmouseout="if(exo)exo.changerBouton('rep36',false)" onclick="exo.action('rep36')">
                                     could win
                                 </div>""" ;
@@ -2005,8 +2005,8 @@
     rdfs:subClassOf :pg4396 .
 
 :pg4396_rep49 a :Reponse ;
-    :__protege_display_name "pg4396_rep49 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4396_rep49 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep49" onmouseover="if(exo)exo.changerBouton('rep49',true)" onmouseout="if(exo)exo.changerBouton('rep49',false)" onclick="exo.action('rep49')">
                                     if only
                                 </div>""" ;
@@ -2015,8 +2015,8 @@
     rdfs:subClassOf :pg4396 .
 
 :pg4396_rep50 a :Reponse ;
-    :__protege_display_name "pg4396_rep50 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4396_rep50 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep50" onmouseover="if(exo)exo.changerBouton('rep50',true)" onmouseout="if(exo)exo.changerBouton('rep50',false)" onclick="exo.action('rep50')">
                                     the race
                                 </div>""" ;
@@ -2025,8 +2025,8 @@
     rdfs:subClassOf :pg4396 .
 
 :pg4396_rep627 a :Reponse ;
-    :__protege_display_name "pg4396_rep627 | V" ;
-    :correct true ;
+    :__protege_display_name "pg4396_rep627 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep627" onmouseover="if(exo)exo.changerBouton('rep627',true)" onmouseout="if(exo)exo.changerBouton('rep627',false)" onclick="exo.action('rep627')">from
                                 </div>""" ;
     :id "rep627" ;
@@ -2034,8 +2034,8 @@
     rdfs:subClassOf :pg4396 .
 
 :pg4396_rep842 a :Reponse ;
-    :__protege_display_name "pg4396_rep842 | F" ;
-    :correct false ;
+    :__protege_display_name "pg4396_rep842 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep842" onmouseover="if(exo)exo.changerBouton('rep842',true)" onmouseout="if(exo)exo.changerBouton('rep842',false)" onclick="exo.action('rep842')">he
                                 </div>""" ;
     :id "rep842" ;
@@ -2586,8 +2586,8 @@
     rdfs:subClassOf :act838137 .
 
 :pg5836_rep150 a :Reponse ;
-    :__protege_display_name "pg5836_rep150 | V" ;
-    :correct true ;
+    :__protege_display_name "pg5836_rep150 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep150" onmouseover="if(exo)exo.changerBouton('rep150',true)" onmouseout="if(exo)exo.changerBouton('rep150',false)" onclick="exo.action('rep150')">la
                         prononciation est la même ;
                     </div>""" ;
@@ -2596,8 +2596,8 @@
     rdfs:subClassOf :pg5836 .
 
 :pg5836_rep306 a :Reponse ;
-    :__protege_display_name "pg5836_rep306 | V" ;
-    :correct true ;
+    :__protege_display_name "pg5836_rep306 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep306" onmouseover="if(exo)exo.changerBouton('rep306',true)" onmouseout="if(exo)exo.changerBouton('rep306',false)" onclick="exo.action('rep306')">la
                         prononciation est nettement différente.
                     </div>""" ;
@@ -2606,8 +2606,8 @@
     rdfs:subClassOf :pg5836 .
 
 :pg5836_rep627 a :Reponse ;
-    :__protege_display_name "pg5836_rep627 | F" ;
-    :correct false ;
+    :__protege_display_name "pg5836_rep627 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep627" onmouseover="if(exo)exo.changerBouton('rep627',true)" onmouseout="if(exo)exo.changerBouton('rep627',false)" onclick="exo.action('rep627')">il est
                         difficile d'établir une différence ;
                     </div>""" ;
@@ -3464,8 +3464,8 @@
     rdfs:subClassOf :act704962 .
 
 :pg8601_rep150 a :Reponse ;
-    :__protege_display_name "pg8601_rep150 | F" ;
-    :correct false ;
+    :__protege_display_name "pg8601_rep150 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep150" onmouseover="if(exo)exo.changerBouton('rep150',true)" onmouseout="if(exo)exo.changerBouton('rep150',false)" onclick="exo.action('rep150')">could
                     </div>""" ;
     :id "rep150" ;
@@ -3473,8 +3473,8 @@
     rdfs:subClassOf :pg8601 .
 
 :pg8601_rep29 a :Reponse ;
-    :__protege_display_name "pg8601_rep29 | V" ;
-    :correct true ;
+    :__protege_display_name "pg8601_rep29 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep29" onmouseover="if(exo)exo.changerBouton('rep29',true)" onmouseout="if(exo)exo.changerBouton('rep29',false)" onclick="exo.action('rep29')">medical
                     </div>""" ;
     :id "rep29" ;
@@ -3482,8 +3482,8 @@
     rdfs:subClassOf :pg8601 .
 
 :pg8601_rep319 a :Reponse ;
-    :__protege_display_name "pg8601_rep319 | V" ;
-    :correct true ;
+    :__protege_display_name "pg8601_rep319 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep319" onmouseover="if(exo)exo.changerBouton('rep319',true)" onmouseout="if(exo)exo.changerBouton('rep319',false)" onclick="exo.action('rep319')">start
                     </div>""" ;
     :id "rep319" ;
@@ -3491,8 +3491,8 @@
     rdfs:subClassOf :pg8601 .
 
 :pg8601_rep326 a :Reponse ;
-    :__protege_display_name "pg8601_rep326 | V" ;
-    :correct true ;
+    :__protege_display_name "pg8601_rep326 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep326" onmouseover="if(exo)exo.changerBouton('rep326',true)" onmouseout="if(exo)exo.changerBouton('rep326',false)" onclick="exo.action('rep326')">studies
                     </div>""" ;
     :id "rep326" ;
@@ -3500,8 +3500,8 @@
     rdfs:subClassOf :pg8601 .
 
 :pg8601_rep437 a :Reponse ;
-    :__protege_display_name "pg8601_rep437 | V" ;
-    :correct true ;
+    :__protege_display_name "pg8601_rep437 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep437" onmouseover="if(exo)exo.changerBouton('rep437',true)" onmouseout="if(exo)exo.changerBouton('rep437',false)" onclick="exo.action('rep437')">I
                     </div>""" ;
     :id "rep437" ;
@@ -3509,8 +3509,8 @@
     rdfs:subClassOf :pg8601 .
 
 :pg8601_rep621 a :Reponse ;
-    :__protege_display_name "pg8601_rep621 | F" ;
-    :correct false ;
+    :__protege_display_name "pg8601_rep621 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep621" onmouseover="if(exo)exo.changerBouton('rep621',true)" onmouseout="if(exo)exo.changerBouton('rep621',false)" onclick="exo.action('rep621')">if
                     </div>""" ;
     :id "rep621" ;
@@ -3518,8 +3518,8 @@
     rdfs:subClassOf :pg8601 .
 
 :pg8601_rep627 a :Reponse ;
-    :__protege_display_name "pg8601_rep627 | V" ;
-    :correct true ;
+    :__protege_display_name "pg8601_rep627 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep627" onmouseover="if(exo)exo.changerBouton('rep627',true)" onmouseout="if(exo)exo.changerBouton('rep627',false)" onclick="exo.action('rep627')">again
                     </div>""" ;
     :id "rep627" ;
@@ -3738,8 +3738,8 @@
     rdfs:subClassOf :act56626 .
 
 :pg9264_rep378 a :Reponse ;
-    :__protege_display_name "pg9264_rep378 | V" ;
-    :correct true ;
+    :__protege_display_name "pg9264_rep378 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep378" onmouseover="if(exo)exo.changerBouton('rep378',true)" onmouseout="if(exo)exo.changerBouton('rep378',false)" onclick="exo.action('rep378')">for his
                         doctorate on Sydney's urban life
                     </div>""" ;
@@ -3748,8 +3748,8 @@
     rdfs:subClassOf :pg9264 .
 
 :pg9264_rep511 a :Reponse ;
-    :__protege_display_name "pg9264_rep511 | F" ;
-    :correct false ;
+    :__protege_display_name "pg9264_rep511 | V" ;
+    :correct true ;
     :html """<div class="STY_reponseQC" id="lienrep511" onmouseover="if(exo)exo.changerBouton('rep511',true)" onmouseout="if(exo)exo.changerBouton('rep511',false)" onclick="exo.action('rep511')">Ron is now
                         studying in Australia
                     </div>""" ;
@@ -3758,8 +3758,8 @@
     rdfs:subClassOf :pg9264 .
 
 :pg9264_rep894 a :Reponse ;
-    :__protege_display_name "pg9264_rep894 | V" ;
-    :correct true ;
+    :__protege_display_name "pg9264_rep894 | F" ;
+    :correct false ;
     :html """<div class="STY_reponseQC" id="lienrep894" onmouseover="if(exo)exo.changerBouton('rep894',true)" onmouseout="if(exo)exo.changerBouton('rep894',false)" onclick="exo.action('rep894')">a
                         scholarship
                     </div>""" ;
diff --git a/tetras_extraction/script/src/extract_page.py b/tetras_extraction/script/src/extract_page.py
index f149cba607033f4c3996898e1f07143314ff74c5..a06280a591c0f9e3b65c6500e69e3be96549cdc1 100644
--- a/tetras_extraction/script/src/extract_page.py
+++ b/tetras_extraction/script/src/extract_page.py
@@ -341,8 +341,6 @@ class RegexParser(JSParser):
                     exo.set_correct(choice_id, True)
         else:
 
-            score = self._parse_score(code)
-
             # tinker with this regex : https://regex101.com/r/qAkdDD/2
             answers_regex = re.compile(
                 r"""
@@ -357,19 +355,29 @@ class RegexParser(JSParser):
                 [ ]\"\",[ ]\"\",[ ]\"\"\); # empty params""",
                 re.VERBOSE,
             )
-            for match in answers_regex.finditer(code):
+            answers = list(answers_regex.finditer(code))
+            # Yet another layer of obfuscation: correct/incorrect are inverted
+            # depending on the total score and number of answers
+            # (see ClasseExerciceQC.js:86)
+            score = self._parse_score(code)
+            is_inverted = ((len(answers) + score) % 2) == 1
+            for match in answers:
+                # Answer ID is obfuscated by changing some digits
                 choice_id = decode_answer_id(match.group("id"))
                 choice = exo._get_or_create(choice_id)
-                choice.is_correct = match.group("correct") == "1"
-                print(choice)
-                pass
+                choice.is_correct = (match.group("correct") == "1") != is_inverted
 
     def _parse_score(self, code: str):
-        m = re.match(r"exo\.scoreTotal ?= ?(\d+);", code)
-        if m is not None:
-            return int(m.group(1))
-        else:
-            return None
+        """Parse the activity's 'total score' variable"""
+        exception = ParseError("Failed to parse total score for this activity")
+        m = re.search(r"exo\.scoreTotal ?= ?(\d+);", code)
+        try:
+            if m is not None:
+                return int(m.group(1))
+            else:
+                raise exception
+        except ValueError as e:
+            raise exception from e
 
 
 class XpathParser(JSParser):