diff --git a/frc971/control_loops/drivetrain/drivetrain.cc b/frc971/control_loops/drivetrain/drivetrain.cc
index aabd89d..12d2cbc 100644
--- a/frc971/control_loops/drivetrain/drivetrain.cc
+++ b/frc971/control_loops/drivetrain/drivetrain.cc
@@ -150,6 +150,14 @@
   kf_.UpdateObserver(U);
 }
 
+void DrivetrainLoop::Zero(
+    ::frc971::control_loops::DrivetrainQueue::Output *output) {
+  output->left_voltage = 0;
+  output->right_voltage = 0;
+  output->left_high = dt_config_.default_high_gear;
+  output->right_high = dt_config_.default_high_gear;
+}
+
 }  // namespace drivetrain
 }  // namespace control_loops
 }  // namespace frc971
diff --git a/frc971/control_loops/drivetrain/drivetrain.h b/frc971/control_loops/drivetrain/drivetrain.h
index a2f2015..30548be 100644
--- a/frc971/control_loops/drivetrain/drivetrain.h
+++ b/frc971/control_loops/drivetrain/drivetrain.h
@@ -21,17 +21,20 @@
  public:
   // Constructs a control loop which can take a Drivetrain or defaults to the
   // drivetrain at frc971::control_loops::drivetrain
-  explicit DrivetrainLoop(const DrivetrainConfig &dt_config,
+  explicit DrivetrainLoop(
+      const DrivetrainConfig &dt_config,
       ::frc971::control_loops::DrivetrainQueue *my_drivetrain =
           &::frc971::control_loops::drivetrain_queue);
 
  protected:
   // Executes one cycle of the control loop.
-  virtual void RunIteration(
+  void RunIteration(
       const ::frc971::control_loops::DrivetrainQueue::Goal *goal,
       const ::frc971::control_loops::DrivetrainQueue::Position *position,
       ::frc971::control_loops::DrivetrainQueue::Output *output,
-      ::frc971::control_loops::DrivetrainQueue::Status *status);
+      ::frc971::control_loops::DrivetrainQueue::Status *status) override;
+
+  void Zero(::frc971::control_loops::DrivetrainQueue::Output *output) override;
 
   typedef ::aos::util::SimpleLogInterval SimpleLogInterval;
   SimpleLogInterval no_position_ = SimpleLogInterval(
diff --git a/frc971/control_loops/drivetrain/drivetrain_config.h b/frc971/control_loops/drivetrain/drivetrain_config.h
index 21dd874..a0b6ac0 100644
--- a/frc971/control_loops/drivetrain/drivetrain_config.h
+++ b/frc971/control_loops/drivetrain/drivetrain_config.h
@@ -44,6 +44,10 @@
   // Hall effect constants. Unused if not applicable to shifter type.
   constants::ShifterHallEffect left_drive;
   constants::ShifterHallEffect right_drive;
+
+  // Variable that holds the default gear ratio. We use this in ZeroOutputs().
+  // (ie. true means high gear is default).
+  bool default_high_gear;
 };
 
 }  // namespace drivetrain
diff --git a/frc971/control_loops/drivetrain/drivetrain_lib_test.cc b/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
index afa8cf1..4ceda53 100644
--- a/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
+++ b/frc971/control_loops/drivetrain/drivetrain_lib_test.cc
@@ -48,7 +48,8 @@
       ::y2016::control_loops::drivetrain::kHighGearRatio,
       ::y2016::control_loops::drivetrain::kLowGearRatio,
       kThreeStateDriveShifter,
-      kThreeStateDriveShifter};
+      kThreeStateDriveShifter,
+      false};
 
   return kDrivetrainConfig;
 };
