Index: sections.module
===================================================================
--- sections.module	(revision 262)
+++ sections.module	(working copy)
@@ -152,15 +152,6 @@
         db_query('DELETE FROM {sections_nodes} WHERE nid = %d', $node->nid);
       }
       break;
-
-    case 'view':
-      // TODO: Only switch the theme if the node is viewed as page and not in teaser mode.
-
-      // If node specific theme is configured, switch to node theme.
-      if (!empty($node->sections['theme'])) {
-        _sections_switch_theme($node->sections['theme']);
-      }
-      break;
   }
 }
 
@@ -180,6 +171,15 @@
  * Implementation of hook_init().
  */
 function sections_init() {
+  // If node specific theme is configured, switch to node theme.
+  if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
+    $node = node_load(arg(1));  
+    if (!empty($node->sections['theme'])) {
+      _sections_switch_theme($node->sections['theme']);
+      return;
+    }
+  }
+  // Otherwise, see if one oif the defined sections matches.
   if ($section = _sections_in_section()) {
     _sections_switch_theme($section->theme);
   }
