Only show gps event after 1 km
diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py
index c078b3c4b6c6f5..37b7e802d64eda 100755
--- a/selfdrive/controls/controlsd.py
+++ b/selfdrive/controls/controlsd.py
@@ -128,6 +128,7 @@ def __init__(self, sm=None, pm=None, can_sock=None):
     self.can_error_counter = 0
     self.last_blinker_frame = 0
     self.saturated_count = 0
+    self.distance_traveled = 0
     self.events_prev = []
     self.current_alert_types = []
 
@@ -213,8 +214,9 @@ def update_events(self, CS):
     if not self.sm['liveLocationKalman'].inputsOK and os.getenv("NOSENSOR") is None:
       if self.sm.frame > 5 / DT_CTRL:  # Give locationd some time to receive all the inputs
         self.events.add(EventName.sensorDataInvalid)
-    if not self.sm['liveLocationKalman'].gpsOK and os.getenv("NOSENSOR") is None:
-        self.events.add(EventName.noGps)
+    if not self.sm['liveLocationKalman'].gpsOK and (self.distance_traveled > 1000) and os.getenv("NOSENSOR") is None:
+      # Not show in first 1 km to allow for driving out of garage. This event shows after 5 minutes
+      self.events.add(EventName.noGps)
     if not self.sm['pathPlan'].paramsValid:
       self.events.add(EventName.vehicleModelInvalid)
     if not self.sm['liveLocationKalman'].posenetOK:
@@ -259,6 +261,8 @@ def data_sample(self):
     if not self.sm['health'].controlsAllowed and self.enabled:
       self.mismatch_counter += 1
 
+    self.distance_traveled += CS.vEgo * DT_CTRL
+
     return CS
 
   def state_transition(self, CS):

Fixes #1745