diff --git a/acquia_agent/acquia_agent.module b/acquia_agent/acquia_agent.module
index 07cd04e..10bde3a 100644
--- a/acquia_agent/acquia_agent.module
+++ b/acquia_agent/acquia_agent.module
@@ -57,13 +57,9 @@ function acquia_agent_page_alter(&$page) {
  * Pre-render function which dynamically adds links to the toolbar.
  */
 function acquia_agent_toolbar_add_links($toolbar) {
-
-    $subscription = acquia_agent_settings('acquia_subscription_data');
-    if (empty($subscription['timestamp']) || (time() - $subscription['timestamp'] > 60*60*24)) {
-      $subscription = acquia_agent_check_subscription(array('no_heartbeat' => 1));
-    }
     $link['html'] = TRUE;
-    if (!empty($subscription['active'])) {
+    if (acquia_agent_subscription_is_active()) {
+      $subscription = acquia_agent_settings('acquia_subscription_data');
       // Yes, this uses inline CSS, which sounds bad, but including a CSS file
       // just for this sounds equally bad.
       $icon = '<img src="'. base_path() . 'misc/message-16-ok.png" alt="ok" style="vertical-align: middle;" />';
@@ -443,7 +439,7 @@ function acquia_agent_network_address($acquia_network_address = NULL) {
  * Helper function to check if an identifer and key exist.
  */
 function acquia_agent_has_credentials() {
-  return (bool)(variable_get('acquia_identifier', '') && variable_get('acquia_key', ''));
+  return (bool)(variable_get('acquia_identifier', FALSE) && variable_get('acquia_key', FALSE));
 }
 
 /**
@@ -454,6 +450,10 @@ function acquia_agent_subscription_is_active() {
   // Subscription cannot be active if we have no credentials.
   if (acquia_agent_has_credentials()) {
     $subscription = acquia_agent_settings('acquia_subscription_data');
+    // Make sure we have data at least once per day.
+    if (isset($subscription['timestamp']) && (time() - $subscription['timestamp'] > 60*60*24)) {
+      $subscription = acquia_agent_check_subscription(array('no_heartbeat' => 1));
+    }
     $active = !empty($subscription['active']);
   }
   return $active;
