diff --git a/VERSIONS_HOTLINE/#28245 b/VERSIONS_HOTLINE/#28245
new file mode 100644
index 0000000000000000000000000000000000000000..3a985505c8a89a15416ae5964f03d0d3e71b2a12
--- /dev/null
+++ b/VERSIONS_HOTLINE/#28245
@@ -0,0 +1 @@
+- ticket #28245: Corrige l'affichage aléatoire des critiques
diff --git a/library/ZendAfi/View/Helper/Accueil/Critiques.php b/library/ZendAfi/View/Helper/Accueil/Critiques.php
index fc8710fc050e40c82524ab8c47ddfd76ee330c0a..1c0e147fea217f93a7c4de0315a1e7ef0d0c29c7 100644
--- a/library/ZendAfi/View/Helper/Accueil/Critiques.php
+++ b/library/ZendAfi/View/Helper/Accueil/Critiques.php
@@ -22,6 +22,8 @@
 
 class ZendAfi_View_Helper_Accueil_Critiques extends ZendAfi_View_Helper_Accueil_Base {
   public function getHtml() {
+    $this->contenu = '';
+
     if ($this->isHierarchicalDisplay()) {
       $this->titre = $this->getPreference('titre');
       $this->contenu = $this->view->domainTree($this->getPreference('id_catalogue'),
@@ -36,7 +38,8 @@ class ZendAfi_View_Helper_Accueil_Critiques extends ZendAfi_View_Helper_Accueil_
 
     $fetched_avis = Class_AvisNotice::getAvisFromPreferences($this->getPreferences());
 
-    if ($this->getPreferences('display_order') == 'Random')
+
+    if ($this->getPreference('display_order') == 'Random')
       shuffle($fetched_avis);
 
     $selected_avis = [];
@@ -53,6 +56,7 @@ class ZendAfi_View_Helper_Accueil_Critiques extends ZendAfi_View_Helper_Accueil_
         $selected_avis[] = $avis;
     }
 
+
     if (count($selected_avis) == 0) {
       $this->contenu = $this
         ->decorateContenu($this->_tag('p', $this->_('Aucune critique récente')));
diff --git a/tests/library/ZendAfi/View/Helper/Accueil/CritiquesTest.php b/tests/library/ZendAfi/View/Helper/Accueil/CritiquesTest.php
index 9d23a82a514427036896b6c29a50bb607635fc55..bf7f3fc7839e041e136fbe368ddd5d537feeb02d 100644
--- a/tests/library/ZendAfi/View/Helper/Accueil/CritiquesTest.php
+++ b/tests/library/ZendAfi/View/Helper/Accueil/CritiquesTest.php
@@ -51,17 +51,19 @@ class CritiquesAvisEmptyTest extends ViewHelperTestCase {
 
 
 abstract class CritiquesAvisTestCase extends ViewHelperTestCase {
-  protected $_storm_default_to_volatile = true;
-  protected $_prefs = []; // subclass responsibility
+  protected
+    $_storm_default_to_volatile = true,
+    $_helper,
+    $_prefs = []; // subclass responsibility
 
   public function setUp() {
     parent::setUp();
 
     $this->_prepareFixtures();
 
-    $helper = new ZendAfi_View_Helper_Accueil_Critiques(2, $this->_prefs);
-    $helper->setView(new ZendAfi_Controller_Action_Helper_View());
-    $this->html = $helper->getBoite();
+    $this->_helper = new ZendAfi_View_Helper_Accueil_Critiques(2, $this->_prefs);
+    $this->_helper->setView(new ZendAfi_Controller_Action_Helper_View());
+    $this->html = $this->_helper->getBoite();
   }
 
 
@@ -169,6 +171,16 @@ class CritiquesWithVignettesTest extends CritiquesAvisTestCase {
   }
 
 
+  /** @test */
+  public function criticsOrderShouldBeRandom() {
+    Storm_Cache::setDefaultZendCache(null);
+    $htmls = [];
+    foreach(range(0, 9) as $i)
+      $htmls [] = $this->_helper->getBoite();
+
+    $this->assertTrue(count(array_unique($htmls)) > 1);
+  }
+
   /** @test */
   public function superLoloCommentWithHtmlShouldBeCutAfterTresBien() {
         $this->assertXPathContentContains($this->html, '//p', '