diff --git a/interpret_qc.py b/interpret_qc.py
index 39ac241240097c21b6583239c414c4fda7d2132e..1967ee166e529524802befa26f2ad59b22aaf218 100644
--- a/interpret_qc.py
+++ b/interpret_qc.py
@@ -31,6 +31,7 @@ def qc_day(qc_path):
     frame = cxs.combine_first(get_all_housekeeping(sum_path))
     qc_frame = get_qc_frame(qc_path)
     frame = frame.combine_first(qc_frame)
+    frame = frame.query('missingDataFlag == 0')
 
     qc_frame_sum = qc_frame.sum(axis=0).to_string()
 
@@ -59,19 +60,19 @@ def plot_variable_qc(frame, loc, filename=None):
     if qc_loc not in frame.columns:
         print('{qc_loc} not in frame'.format(qc_loc=qc_loc))
         return
-    if sum(frame[qc_loc]) > 0:
-        fig = plt.figure(figsize=(50,5))
-        plot_outliers(frame, frame[qc_loc] == 0, loc)
+    if frame[qc_loc].sum() > 0:
+        fig = plt.figure(figsize=(10,5))
+        plot_outliers(frame, frame[qc_loc], loc)
         if filename is not None:
             save_plot(filename)
         else:
             return mpld3.fig_to_html(fig)
 
 def plot_outliers(frame, qc_mask, loc):
-    if (~qc_mask).any():
-        frame.ix[qc_mask & (frame['qc_percent'] == 0), loc].plot(style='b.')
-        frame.ix[qc_mask & (frame['qc_percent'] > 0), loc].plot(style='k.', alpha=.2)
-        frame.ix[~qc_mask, loc].plot(style='r.')
+    if (~np.isnan(qc_mask) & qc_mask > 0).any():
+        frame.ix[(np.isnan(qc_mask) | (qc_mask == 0)) & (frame['qc_percent'] == 0), loc].plot(style='b.')
+        frame.ix[(np.isnan(qc_mask) | (qc_mask == 0)) & (frame['qc_percent'] > 0), loc].plot(style='k.', alpha=.2)
+        frame.ix[~np.isnan(qc_mask) & (qc_mask > 0) & (frame['qc_percent'] > 0), loc].plot(style='r.')
         plt.xlabel('Time')
         plt.title(loc)