diff --git a/plio/io/io_controlnetwork.py b/plio/io/io_controlnetwork.py
index 57774f9670d728e9e6ad8224e4b86c332f06a496..13ddfd54bc9a0fc81990965e1b320e5bdfd1ce84 100644
--- a/plio/io/io_controlnetwork.py
+++ b/plio/io/io_controlnetwork.py
@@ -270,6 +270,9 @@ class IsisStore(object):
                             arr = arr.ravel().tolist()
 
                         point_spec.aprioriCovar.extend(arr)
+                    # If field is repeated you must extend instead of assign
+                    elif cnf._CONTROLPOINTFILEENTRYV0002.fields_by_name[attr].label == 3:
+                        getattr(point_spec, attr).extend(g.iloc[0][df_attr])
                     else:
                         setattr(point_spec, attr, attrtype(g.iloc[0][df_attr]))
 
@@ -284,7 +287,11 @@ class IsisStore(object):
                     # Un-mangle common attribute names between points and measures
                     df_attr = self.measure_field_map.get(attr, attr)
                     if df_attr in g.columns:
-                        setattr(measure_spec, attr, attrtype(m[df_attr]))
+                        # If field is repeated you must extend instead of assign
+                        if cnf._CONTROLPOINTFILEENTRYV0002_MEASURE.fields_by_name[attr].label == 3:
+                            getattr(measure_spec, attr).extend(m[df_attr])
+                        else:
+                            setattr(measure_spec, attr, attrtype(m[df_attr]))
                 # ISIS pixels are centered on (0.5, 0.5). NDArrays are (0,0) based.
                 measure_spec.sample = m['sample'] + 0.5
                 measure_spec.line = m['line'] + 0.5
diff --git a/plio/io/tests/test_io_controlnetwork.py b/plio/io/tests/test_io_controlnetwork.py
index 9d13793e05518a251bdb6e1c82bb106bc2e7905b..8b628ce5de27478e6ab53e458aa29376fd9afb5d 100644
--- a/plio/io/tests/test_io_controlnetwork.py
+++ b/plio/io/tests/test_io_controlnetwork.py
@@ -39,12 +39,12 @@ class TestWriteIsisControlNetwork(unittest.TestCase):
         serial_times = {295: '1971-07-31T01:24:11.754',
                         296: '1971-07-31T01:24:36.970'}
         cls.serials = {i:'APOLLO15/METRIC/{}'.format(j) for i, j in enumerate(serial_times.values())}
-        columns = ['id', 'pointType', 'serialnumber', 'measureType', 'sample', 'line', 'image_index']
+        columns = ['id', 'pointType', 'serialnumber', 'measureType', 'sample', 'line', 'image_index', 'pointLog', 'measureLog']
 
         data = []
         for i in range(cls.npts):
-            data.append((i, 2, cls.serials[0], 2, 0, 0, 0))
-            data.append((i, 2, cls.serials[1], 2, 0, 0, 1))
+            data.append((i, 2, cls.serials[0], 2, 0, 0, 0, [], []))
+            data.append((i, 2, cls.serials[1], 2, 0, 0, 1, [], []))
 
         df = pd.DataFrame(data, columns=columns)