diff --git a/.gitignore b/.gitignore
index e7d115ba111aadeb1f83e8f5bb658d9985f86f89..c00fa22e192bf18637beec19d54542c37e60499c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,5 @@ Q*
 PDS_backing.pages
 latest
 index.html
+P31_cnt
+authctrl_P31_cnt.tsv
diff --git a/lib/PDS.pm b/lib/PDS.pm
index 68241a5af1626c3665e8fcece51798f67339b114..ba18b8b96e0b2e3117c56d890d6f953f81680c6e 100644
--- a/lib/PDS.pm
+++ b/lib/PDS.pm
@@ -219,7 +219,7 @@ sub print_page_info
   print "highest_page_num=[$self->{highest_page_num}]\n";
 
   my $ps= $self->{page_skips};
-  print "page_skips: ", join (', ', map { $_. ' <= '. $ps->{$_}.'x' } sort keys %$ps), "\n";
+  print "page_skips: ", join (', ', map { $_. ' <= '. $ps->{$_}.'x' } sort { $a <=> $b } keys %$ps), "\n";
 }
 
 sub load_page
diff --git a/wdq1.pl b/wdq1.pl
index 079e1a2f58cac61e6274b387332bf168aedd5f5b..d1e4d7d1df5238cf807e6a804e2b8eb6c09e61e3 100755
--- a/wdq1.pl
+++ b/wdq1.pl
@@ -432,18 +432,32 @@ my $fo_count= $fo_rec->open();
   my $authctrl;
   if ($ty eq 'item')
   {
+    my $use_authctrl= 0;
     foreach my $x (@authctrl)
     {
       if (exists ($jc->{$x}))
       {
+        $use_authctrl= 1;
+        last;
+      }
+    }
+
+    if (!$use_authctrl && exists ($jc->{P31}))
+    {
+      my $P31= $jc->{P31};
+      my $P31val= $P31->[0]->{mainsnak}->{datavalue}->{value}->{id};
+      # print __LINE__, " P31=[$P31] => [$P31val]\n";
+      $use_authctrl= 1 if ($P31val eq 'Q5');
+    }
+
+    if ($use_authctrl)
+    {
         $authctrl=
         {
           'id' => $id,
           'tlt_l' => \%tlt_l,
           'tlt_d' => \%tlt_d,
         };
-        last;
-      }
     }
   }