diff --git a/CHANGELOG.md b/CHANGELOG.md
index 00cf39ff04e23b02e328de22bbfa1d407e6488f9..58b34bd9d0a9a19288262c15eea8ee491ebe27ea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -35,6 +35,8 @@ release.
 
 ## [Unreleased]
 
+### Fixed
+- Updated `create_pvl_header()` to add a newline (`\n`) character to the end of the pvl string. This ensures that the control networks can be written, then read back in using pvl 1.3.0 [#193](https://github.com/USGS-Astrogeology/plio/pull/193)
 
 ## [1.5.3]()
 ### Fixed
diff --git a/plio/io/io_controlnetwork.py b/plio/io/io_controlnetwork.py
index 5fc3136bba7805769b567cc141312e433baba37e..18f44ca9a41210be99297e1ab6ead1f12b413d72 100644
--- a/plio/io/io_controlnetwork.py
+++ b/plio/io/io_controlnetwork.py
@@ -224,7 +224,7 @@ class IsisStore(object):
         Given an ISIS store, read the underlying ISIS3 compatible control network and
         return an IsisControlNetwork dataframe.
         """
-        pvl_header = pvl.load(self._path, grammar=pvl.grammar.ISISGrammar())
+        pvl_header = pvl.load(self._path)
         header_start_byte = find_in_dict(pvl_header, 'HeaderStartByte')
         header_bytes = find_in_dict(pvl_header, 'HeaderBytes')
         point_start_byte = find_in_dict(pvl_header, 'PointsStartByte')
@@ -499,4 +499,4 @@ class IsisStore(object):
                  )
         ])
 
-        return pvl.dumps(header, encoder=encoder)
+        return pvl.dumps(header, encoder=encoder) + "\n"