diff --git a/i18nmenu_node.module b/i18nmenu_node.module
index 0935268..21e2ba4 100644
--- a/i18nmenu_node.module
+++ b/i18nmenu_node.module
@@ -16,6 +16,15 @@
 define('I18NMENU_NODE_BLOCK_SEPARATOR', '--');
 
 /**
+ * Implementation of hook_init().
+ */
+function i18nmenu_node_init() {
+  if ($node = menu_get_object()) {
+    i18nmenu_node_set_item($node);
+  }
+}
+
+/**
  * Return the information used to provide the [i18n] blocks.
  */
 function i18nmenu_node_block_info($module = NULL) {
@@ -482,12 +491,6 @@ function i18nmenu_node_nodeapi(&$node, $op, $a3 = NULL, $page = NULL) {
         }
       }
       break;
-
-    case 'view':
-      if ($page) {
-        i18nmenu_node_set_item($node);
-      }
-      break;
   }
 }
 
