diff --git a/scene_checks.py b/scene_checks.py
index 93783846a2e5597c20b65d519b4e7f4f0a555c81..d1d6971152052e9268828dc01a60b894cb9672df 100644
--- a/scene_checks.py
+++ b/scene_checks.py
@@ -11,7 +11,7 @@ def hatch_check(frame, parameters):
     hatch_closed_during_viewing = ((frame.hatchOpen != 1) &
         (~frame.sceneMirrorPosition.isin([ord('H'), ord('A')])))
 
-    frame['hatch_check'] = hatch_closed_during_viewing
+    frame['hatch_check'] = hatch_closed_during_viewing * 1
     annotate_all(frame, hatch_closed_during_viewing, 'hatch closed')
 
     return frame
diff --git a/state_checks.py b/state_checks.py
index be91118e6e817b3670ee2d267ca082c4c4899705..1ef7bdbc1068eaeb17e9e70e308b2bdb1be9fe5e 100644
--- a/state_checks.py
+++ b/state_checks.py
@@ -16,39 +16,45 @@ def detector_check(frame, parameters):
     return frame
 
 def hbb_thermistor_check(frame, parameters):
+    return thermistor_check(frame, 'HBB', 331, 335)
+
+def abb_thermistor_check(frame, parameters):
+    return thermistor_check(frame, 'ABB', 150, 335)
+
+def thermistor_check(frame, bb, low, high):
     """
-    Check that all HBB thermistor temps are in range
+    Check that all thermistor temps are in range
     """
-    if not np.in1d(['HBBbottomTemp','HBBapexTemp','HBBtopTemp'], frame.columns).all():
+    if not np.in1d([x.format(bb) for x in ['{}bottomTemp','{}apexTemp','{}topTemp']], frame.columns).all():
         return frame
-    hbbb_too_low = (frame['HBBbottomTemp'] - 333) < -2
-    hbba_too_low = (frame['HBBapexTemp'] - 333) < -2
-    hbbt_too_low = (frame['HBBtopTemp'] - 333) < -2
-    hbbb_too_high = (frame['HBBbottomTemp'] - 333) > 2
-    hbba_too_high = (frame['HBBapexTemp'] - 333) > 2
-    hbbt_too_high = (frame['HBBtopTemp'] - 333) > 2
-    hbbb_problem = hbbb_too_low | hbbb_too_high
-    hbba_problem = hbba_too_low | hbba_too_high
-    hbbt_problem = hbbt_too_low | hbbt_too_high
+    bbb_too_low = frame['{}bottomTemp'.format(bb)] < low
+    bba_too_low = frame['{}apexTemp'.format(bb)] < low
+    bbt_too_low = frame['{}topTemp'.format(bb)] < low
+    bbb_too_high = frame['{}bottomTemp'.format(bb)] > high
+    bba_too_high = frame['{}apexTemp'.format(bb)] > high
+    bbt_too_high = frame['{}topTemp'.format(bb)] > high
+    bbb_problem = bbb_too_low | bbb_too_high
+    bba_problem = bba_too_low | bba_too_high
+    bbt_problem = bbt_too_low | bbt_too_high
 
     # Record qc for each thermistor
     # qc variables are probabilites between 0 and 1
     variable_qcs = pd.DataFrame({
-        'qc_HBBbottomTemp':hbbb_problem * 1,
-        'qc_HBBapexTemp' : hbba_problem * 1,
-        'qc_HBBtopTemp' : hbbt_problem * 1
+        'qc_{}bottomTemp'.format(bb) :bbb_problem * 1,
+        'qc_{}apexTemp'.format(bb)  : bba_problem * 1,
+        'qc_{}topTemp'.format(bb)  : bbt_problem * 1
     }, index=frame.index)
     frame = update_variable_qc(frame, variable_qcs)
 
     # Compute overall BB quality
-    frame['hbb_thermistor_check'] = (hbbb_problem | hbba_problem | hbbt_problem) * 1
-    annotate_all(frame, hbbb_too_low, 'HBB bottom temperature too low')
-    annotate_all(frame, hbbt_too_low, 'HBB top temperature too low')
-    annotate_all(frame, hbba_too_low, 'HBB apex temperature too low')
-    annotate_all(frame, hbbb_too_high, 'HBB bottom temperature too high')
-    annotate_all(frame, hbbt_too_high, 'HBB top temperature too high')
-    annotate_all(frame, hbba_too_high, 'HBB apex temperature too high')
-    frame = invalidate_records(frame, 'hbb_thermistor_check')
+    frame['{}_thermistor_check'.format(bb.lower())] = (bbb_problem | bba_problem | bbt_problem) * 1
+    annotate_all(frame, bbb_too_low, '{} bottom temperature too low'.format(bb))
+    annotate_all(frame, bbt_too_low, '{} top temperature too low'.format(bb))
+    annotate_all(frame, bba_too_low, '{} apex temperature too low'.format(bb))
+    annotate_all(frame, bbb_too_high, '{} bottom temperature too high'.format(bb))
+    annotate_all(frame, bbt_too_high, '{} top temperature too high'.format(bb))
+    annotate_all(frame, bba_too_high, '{} apex temperature too high'.format(bb))
+    frame = invalidate_records(frame, '{}_thermistor_check'.format(bb.lower()))
     return frame
 
 def hbb_stable_check(frame, parameters):
@@ -76,7 +82,7 @@ def hbb_stable_check(frame, parameters):
     return frame
 
 class CheckList(BaseCheckList):
-    checks = [detector_check, hbb_thermistor_check, hbb_stable_check]
+    checks = [detector_check, hbb_thermistor_check, hbb_stable_check, abb_thermistor_check]
 
 
 #### TESTS ####