diff --git a/gracedb/api.py b/gracedb/api.py
index 69754f7287dd84c0947ee5961aa34ed639a46e82..e7167c59183af2805f90dacc1a8aab512dfd9c78 100644
--- a/gracedb/api.py
+++ b/gracedb/api.py
@@ -430,7 +430,7 @@ class EventList(APIView):
                 d = {'error': 'Invalid query' }
                 return Response(d,status=status.HTTP_400_BAD_REQUEST)
 
-        events = events.order_by(sort)
+        events = events.order_by(sort).select_subclasses()
 
         start = int(start)
         count = int(count)
diff --git a/gracedb/serialize.py b/gracedb/serialize.py
index f6f532128295391bf54394927e8c5575bc17a93b..9283ffc322674dc34ccb6909aa7ba6c0cb0d9955 100644
--- a/gracedb/serialize.py
+++ b/gracedb/serialize.py
@@ -229,10 +229,11 @@ def populate_inspiral_tables(MBTA_frame, set_keys = MBTA_set_keys, \
   row.set_ifos(detectors)
   cid = lsctables.CoincTable.get_next_id()
   row.coinc_event_id = cid
-  row.end_time = end_time['H1'].seconds
-  row.end_time_ns = end_time['H1'].nanoseconds
-  row.mass = (sum(mass1.values()) + sum(mass2.values()))/3
-  row.mchirp = sum(mchirp.values())/3
+  representative_detector = detectors[0]
+  row.end_time = end_time[representative_detector].seconds
+  row.end_time_ns = end_time[representative_detector].nanoseconds
+  row.mass = (sum(mass1.values()) + sum(mass2.values()))/len(detectors)
+  row.mchirp = sum(mchirp.values())/len(detectors)
   #the snr here is really the snr NOT effective snr
   row.snr = pow(sum([x*x for x in snr.values()]),0.5)
   if far is not None: