diff --git a/server/hosts/servo_host.py b/server/hosts/servo_host.py
index e10d049..137e27e 100644
--- a/server/hosts/servo_host.py
+++ b/server/hosts/servo_host.py
@@ -1063,8 +1063,6 @@
 
 
     def get_servo_state(self):
-        if self._servo_state is None:
-            return servo_constants.SERVO_STATE_UNKNOWN
         return self._servo_state
 
     def _get_host_metrics_data(self):
diff --git a/server/hosts/servo_host_unittest.py b/server/hosts/servo_host_unittest.py
index 6bdda4a..d1f637f 100644
--- a/server/hosts/servo_host_unittest.py
+++ b/server/hosts/servo_host_unittest.py
@@ -36,13 +36,11 @@
 
 class ServoHostServoStateTestCase(unittest.TestCase):
     """Tests to verify changing the servo_state"""
-    def test_return_broken_if_state_not_defined(self):
+    def test_return_none_if_state_not_defined(self):
         host = MockHost()
         self.assertIsNotNone(host)
         self.assertIsNone(host._servo_state)
-        self.assertIsNotNone(host.get_servo_state())
-        self.assertEqual(host.get_servo_state(),
-                         servo_constants.SERVO_STATE_UNKNOWN)
+        self.assertIsNone(host.get_servo_state())
         self.assertEqual(host._servo_state, None)
 
     def test_verify_set_state_broken_if_raised_error(self):
