diff --git a/frc971/constants.cpp b/frc971/constants.cpp
index af8c432..989b77e 100644
--- a/frc971/constants.cpp
+++ b/frc971/constants.cpp
@@ -109,7 +109,7 @@
 const Values *GetValues() {
   // TODO(brians): Make this use the new Once construct.
   if (values == NULL) {
-    LOG(INFO, "creating a Constants for team %"PRIu16"\n",
+    LOG(INFO, "creating a Constants for team %" PRIu16 "\n",
         ::aos::robot_state->team_id);
     switch (::aos::robot_state->team_id) {
       case kCompTeamNumber:
@@ -151,7 +151,7 @@
                             kPracticeCameraCenter};
         break;
       default:
-        LOG(ERROR, "unknown team #%"PRIu16"\n",
+        LOG(ERROR, "unknown team #%" PRIu16 "\n",
             aos::robot_state->team_id);
         return NULL;
     }
diff --git a/frc971/control_loops/drivetrain/drivetrain.cc b/frc971/control_loops/drivetrain/drivetrain.cc
index cbb4225..548113e 100644
--- a/frc971/control_loops/drivetrain/drivetrain.cc
+++ b/frc971/control_loops/drivetrain/drivetrain.cc
@@ -248,12 +248,6 @@
     bad_pos = true;
   }
 
-  bool bad_output = false;
-  if (output == NULL) {
-    LOG(WARNING, "no output\n");
-    bad_output = true;
-  }
-
   double wheel = goal->steering;
   double throttle = goal->throttle;
   bool quickturn = goal->quickturn;
diff --git a/frc971/control_loops/index/index.cc b/frc971/control_loops/index/index.cc
index 90eaf6e..f8dbada 100644
--- a/frc971/control_loops/index/index.cc
+++ b/frc971/control_loops/index/index.cc
@@ -235,7 +235,8 @@
   // Make goal easy to work with and sanity check it.
   Goal goal_enum = static_cast<Goal>(goal->goal_state);
   if (goal->goal_state < 0 || goal->goal_state > 5) {
-    LOG(ERROR, "Goal state is %"PRId32" which is out of range.  Going to HOLD.\n",
+    LOG(ERROR,
+        "Goal state is %" PRId32 " which is out of range.  Going to HOLD.\n",
         goal->goal_state);
     goal_enum = Goal::HOLD;
   }
@@ -783,7 +784,7 @@
           }
           if (hopper_disc_count_ != 0) {
             LOG(ERROR,
-                "Emptied the hopper out but there are still %"PRId32" discs there\n",
+                "Emptied the hopper out but there are still %" PRId32 " discs there\n",
                 hopper_disc_count_);
             hopper_disc_count_ = 0;
           }
@@ -811,7 +812,7 @@
       case Goal::INTAKE:
         safe_goal_ = Goal::READY_SHOOTER;
         safe_to_change_state = false;
-        LOG(INFO, "We have %"PRId32" discs, time to preload automatically\n",
+        LOG(INFO, "We have %" PRId32 " discs, time to preload automatically\n",
             hopper_disc_count_);
         break;
       case Goal::READY_SHOOTER:
