diff --git a/include/class.avatar.php b/include/class.avatar.php
index 54994d9206aa45e41e389742d6d7d7bc9ebafab3..c328855a1abd3a6bb2b914bbaa587dec471507f0 100644
--- a/include/class.avatar.php
+++ b/include/class.avatar.php
@@ -152,10 +152,10 @@ class RandomAvatar {
     }
 
     function makeAvatar($uid) {
-        if (!extension_loaded('gd'))
+        $sprite = self::$sprites[$this->mode];
+        if (!$sprite || !is_readable(ROOT_DIR . $sprite['file']) || !extension_loaded('gd'))
             Http::redirect(ROOT_PATH.'images/mystery-oscar.png');
 
-        $sprite = self::$sprites[$this->mode];
         $source =  imagecreatefrompng(ROOT_DIR . $sprite['file']);
         $grid = $sprite['grid'];
         $avatar = imagecreatetruecolor($grid, $grid);