diff --git a/acquia_search.install b/acquia_search.install
index a20f5d3..7f03d62 100644
--- a/acquia_search.install
+++ b/acquia_search.install
@@ -50,6 +50,14 @@ function acquia_search_requirements($phase) {
       $requirements['acquia_search_apachesolr']['value'] = $t('Incompatible API version');
     }
   }
+  // Update the cached version whenever we may be updating the module.
+  // We cannot run it on the update phase since Drupal 6 only executes an
+  // update phase for the system module. For Drupal 6 we moved it to cron
+  // this phase will run on the following paths : 'admin', 'admin/by-task',
+  // 'admin/reports/status'.
+  if ($phase == 'runtime') {
+    _acquia_search_set_version();
+  }
 
   return $requirements;
 }
diff --git a/acquia_search.module b/acquia_search.module
index f171507..1f5ba7b 100644
--- a/acquia_search.module
+++ b/acquia_search.module
@@ -48,12 +48,11 @@ function acquia_search_get_environment($conf = array()) {
  * Implementation of hook_enable().
  */
 function acquia_search_enable() {
-  variable_set('acquia_search_version', '6.x-3.x');
-  acquia_search_enable_acquia_solr_environment();
-  if (acquia_agent_subscription_is_active()) {
-    // Send a heartbeat so the Acquia Network knows the module is enabled.
-    acquia_agent_check_subscription();
-  }
+  // Send a heartbeat so the Acquia Network knows the module is enabled.
+  // This causes an invocation of hook_acquia_subscription_status() which is
+  // implemented in this module to set up the environment.
+  _acquia_search_set_version();
+  acquia_agent_check_subscription();
 }
 
 /**
@@ -139,10 +138,10 @@ function acquia_search_menu_alter(&$menu) {
 }
 
 /**
- * Implementation of hook_cron().
+ * Helper function to cache the Acquia Search version.
  */
-function acquia_search_cron() {
-  // Cache the cersion in a variable so we can send it at not extra cost.
+function _acquia_search_set_version() {
+  // Cache the version in a variable so we can send it at not extra cost.
   $version = variable_get('acquia_search_version', '6.x-3.x');
   $path = drupal_get_path('module', 'acquia_search') . '/acquia_search.info';
   $info = drupal_parse_info_file($path);
@@ -151,8 +150,6 @@ function acquia_search_cron() {
   if ($version != $new_version) {
     variable_set('acquia_search_version', $new_version);
   }
-  // Add the environment if it wasn't added before
-  acquia_search_enable();
 }
 
 /**
@@ -255,6 +252,11 @@ function acquia_search_acquia_subscription_status($active, $subscription = FALSE
       }
     }
   }
+  // Due to the fact the D6 does not have an update phase in hook_requirements,
+  // we are moving this to a cron-based job.
+  // @see http://drupal.org/node/1784770
+  // @see acquia_search_requirements().
+  _acquia_search_set_version();
 }
 
 /**
