diff --git a/VERSIONS_HOTLINE/177091 b/VERSIONS_HOTLINE/177091
new file mode 100644
index 0000000000000000000000000000000000000000..427949180deb6804780713e2ca2b77382822a370
--- /dev/null
+++ b/VERSIONS_HOTLINE/177091
@@ -0,0 +1 @@
+ - correctif #177091 : Administration Utilisateurs : Les abonnés portails peuvent désormais avoir un abonnement valide pour accéder aux ressources numériques.
\ No newline at end of file
diff --git a/library/Class/SearchCriteria.php b/library/Class/SearchCriteria.php
index 52d0b398285ed33e49381e40b23cfdfe1f675b0c..85e1a7fc51924d2c4906db5c5f9f41f2f9437924 100644
--- a/library/Class/SearchCriteria.php
+++ b/library/Class/SearchCriteria.php
@@ -200,10 +200,7 @@ abstract class Class_SearchCriteria  {
 
   public function modelMatch($model) :bool {
     return (new Storm_Collection($this->_criteria))
-      ->detect(function($each) use($model)
-               {
-                 return $each->shouldFilter($this) && !$each->modelMatch($model);
-               })
+      ->detect(fn($each) => $each->shouldFilter($this) && !$each->modelMatch($model))
       ? false
       : true;
   }
diff --git a/library/Class/User/ILSSubscription.php b/library/Class/User/ILSSubscription.php
index f3f72a2068eb0229bd339b89ff62ffa86f064c14..f23b4b10f2e19dc362d6fbef0bc9b640ba2cc2b2 100644
--- a/library/Class/User/ILSSubscription.php
+++ b/library/Class/User/ILSSubscription.php
@@ -102,7 +102,7 @@ class Class_User_ILSSubscription {
 
 
   public function isValid() :bool {
-    if (!$this->_user->isAbonne())
+    if ( ! $this->_user->isAbonne())
       return false;
 
     return !$this->isExpired() && !$this->isBlocked();
diff --git a/library/Class/User/SearchCriteria.php b/library/Class/User/SearchCriteria.php
index 095b6c3b193f782323aede55df9725bc4185eb74..7c0b01de92e4da6f9e6ef672dd1e11cb38d57f9f 100644
--- a/library/Class/User/SearchCriteria.php
+++ b/library/Class/User/SearchCriteria.php
@@ -95,7 +95,9 @@ class Class_User_SearchCriteriaValidSubscription
 
 
   public function modelMatch($model) :bool {
-    return $model->isAbonnementValid();
+    return ($date = $model->getDateFin())
+      ? ($model->getCurrentDate() <= $date)
+      : false;
   }
 
 
diff --git a/library/digital_resources/Lekiosk/tests/LekioskTest.php b/library/digital_resources/Lekiosk/tests/LekioskTest.php
index 4177e5ad6e38eb80d2ef49a7d17938ae8ba57f3c..074e460698f5825627aa5a47154d898bb74594bc 100644
--- a/library/digital_resources/Lekiosk/tests/LekioskTest.php
+++ b/library/digital_resources/Lekiosk/tests/LekioskTest.php
@@ -236,6 +236,34 @@ class LekioskModulesControllerTest extends AbstractControllerTestCase {
     $this->dispatch('/opac/modules/lekiosk');
     $this->assertFlashMessengerContentContains('Votre abonnement ne permet pas');
   }
+
+
+  /** @test */
+  public function dynamicGroupWithRightsShouldAccessLekiosk() {
+    $group = $this->fixture(Class_UserGroup::class,
+                            ['id' => 1,
+                             'filters' => json_encode(['search_role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE,
+                                                       'search_valid_subscription' => 1])]);
+
+    $group->beDynamic()->assertSave();
+
+    $lekiosk_permission_id = Lekiosk_Config::getInstance()->getPermission()->getId();
+
+    $this->fixture(Class_UserGroup_Permission::class,
+                   ['id' => 1,
+                    'id_group' => 1,
+                    'id_permission' => $lekiosk_permission_id,
+                    'id_model' => null,
+                    'model_class' => null
+                   ]);
+
+    Class_Users::getIdentity()
+      ->bePortalBorrowerForDays(30);
+
+    $this->dispatch('/opac/modules/lekiosk');
+    $this->assertContains('https://pros.lekiosk.com/login/accesshash',
+                          $this->_response->getBody());
+  }
 }