diff --git a/includes/theme.inc b/includes/theme.inc
index bc09e15885ae509d2769a11ca720ca6c3bc80638..6f9785aa4b65846c1b9910db365964a4ac3aa4fa 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -73,13 +73,13 @@ function menu($name, $module) {
 function theme_blocks($region, $theme) {
   global $id, $PHP_SELF, $user;
  
-  switch (strtok($PHP_SELF, ".")) {
-    case "/story":
+  switch (strrchr($PHP_SELF, "/")) {
+    case "/story.php":
       if ($user->id) $story = db_fetch_object(db_query("SELECT * FROM stories WHERE id = '$id'"));
       if ($story->status == 1) theme_moderation_results($theme, $story);
       else theme_new_headlines($theme);
       break;
-    case "/index":
+    case "/index.php":
       if ($user->id) $result = db_query("SELECT * FROM blocks b LEFT JOIN layout l ON b.name = l.block WHERE (b.status = 2 OR (b.status AND l.user = '$user->id'))". (($region == "left" || $region == "right") ? ($region == "left" ? " AND b.region = 0" : " AND b.region = 1") : "") ." ORDER BY weight");
       else $result = db_query("SELECT * FROM blocks WHERE status = 2 ORDER BY weight");
       while ($block = db_fetch_object($result)) {