diff --git a/update_manager/chromeos_policy.cc b/update_manager/chromeos_policy.cc
index 5273ea4..8a2e2c2 100644
--- a/update_manager/chromeos_policy.cc
+++ b/update_manager/chromeos_policy.cc
@@ -358,7 +358,6 @@
     return EvalStatus::kSucceeded;
 
   // Check whether the device policy specifically allows this connection.
-  bool user_settings_can_override = false;
   if (device_policy_can_override) {
     DevicePolicyProvider* const dp_provider = state->device_policy_provider();
     const bool* device_policy_is_loaded_p = ec->GetValue(
@@ -371,23 +370,18 @@
           *result = true;
           return EvalStatus::kSucceeded;
         }
-      } else {
-        user_settings_can_override = true;
+      } else if (conn_type == ConnectionType::kCellular) {
+        // Local user settings can allow updates over cellular iff a policy was
+        // loaded but no allowed connections were specified in it.
+        const bool* update_over_cellular_allowed_p = ec->GetValue(
+            state->updater_provider()->var_cellular_enabled());
+        if (update_over_cellular_allowed_p && *update_over_cellular_allowed_p)
+          *result = true;
       }
     }
   }
 
-  // Local user settings can allow updates iff a policy was loaded but no
-  // allowed connections were specified in it. In all other cases, we either
-  // stick with the default or use the values determined by the policy.
-  if (user_settings_can_override) {
-    const bool* update_over_cellular_allowed_p = ec->GetValue(
-        state->updater_provider()->var_cellular_enabled());
-    if (update_over_cellular_allowed_p && *update_over_cellular_allowed_p)
-      *result = true;
-  }
-
-  return EvalStatus::kSucceeded;
+  return (*result ? EvalStatus::kSucceeded : EvalStatus::kAskMeAgainLater);
 }
 
 EvalStatus ChromeOSPolicy::NextUpdateCheckTime(EvaluationContext* ec,
diff --git a/update_manager/chromeos_policy_unittest.cc b/update_manager/chromeos_policy_unittest.cc
index eef2250..2eba5d2 100644
--- a/update_manager/chromeos_policy_unittest.cc
+++ b/update_manager/chromeos_policy_unittest.cc
@@ -741,9 +741,8 @@
       reset(new ConnectionTethering(ConnectionTethering::kConfirmed));
 
   bool result;
-  ExpectPolicyStatus(EvalStatus::kSucceeded,
+  ExpectPolicyStatus(EvalStatus::kAskMeAgainLater,
                      &Policy::UpdateDownloadAllowed, &result);
-  EXPECT_FALSE(result);
 }
 
 TEST_F(UmChromeOSPolicyTest,
@@ -786,9 +785,8 @@
       reset(new ConnectionType(ConnectionType::kBluetooth));
 
   bool result;
-  ExpectPolicyStatus(EvalStatus::kSucceeded,
+  ExpectPolicyStatus(EvalStatus::kAskMeAgainLater,
                      &Policy::UpdateDownloadAllowed, &result);
-  EXPECT_FALSE(result);
 }
 
 TEST_F(UmChromeOSPolicyTest,
@@ -804,9 +802,8 @@
       reset(new set<ConnectionType>(allowed_connections));
 
   bool result;
-  ExpectPolicyStatus(EvalStatus::kSucceeded,
+  ExpectPolicyStatus(EvalStatus::kAskMeAgainLater,
                      &Policy::UpdateDownloadAllowed, &result);
-  EXPECT_FALSE(result);
 }
 
 TEST_F(UmChromeOSPolicyTest, UpdateCurrentConnectionNotAllowedCellularDefault) {
@@ -816,9 +813,8 @@
       reset(new ConnectionType(ConnectionType::kCellular));
 
   bool result;
-  ExpectPolicyStatus(EvalStatus::kSucceeded,
+  ExpectPolicyStatus(EvalStatus::kAskMeAgainLater,
                      &Policy::UpdateDownloadAllowed, &result);
-  EXPECT_FALSE(result);
 }
 
 TEST_F(UmChromeOSPolicyTest,
