diff --git a/spaces.module b/spaces.module
index 4921ef2..ec00a29 100644
--- a/spaces.module
+++ b/spaces.module
@@ -789,7 +789,16 @@ function spaces_permission() {
 /**
  * Implements hook_init().
  */
-function spaces_init() {
+function spaces_init($force=FALSE) {
+  $inited = &drupal_static(__FUNCTION__);
+  
+  // If we've already run spaces_init - if we needed it before hook_init
+  // in the execution order, for example - only run again if forced.
+  if ($inited && !$force) {
+    return;
+  }
+  $inited = TRUE;
+  
   spaces_ahah_check();
 
   if (module_exists('spaces_customtext')) {
