diff --git a/geomagio/edge/EdgeFactory.py b/geomagio/edge/EdgeFactory.py
index 307275a9cd826e1a22b8d876030a89419ee31341..7f9c1cdaa832ec5971f3f062c3f778390c2a6799 100644
--- a/geomagio/edge/EdgeFactory.py
+++ b/geomagio/edge/EdgeFactory.py
@@ -176,7 +176,7 @@ class EdgeFactory(TimeseriesFactory):
             representing gaps.
         """
         stats = timeseries[0].stats
-        observatory = observatory or self.observatory or stats.station
+        observatory = observatory or stats.station or self.observatory
         channels = channels or self.channels
         type = type or self.type or stats.data_type
         interval = interval or self.interval or stats.data_interval
diff --git a/geomagio/edge/RawInputClient.py b/geomagio/edge/RawInputClient.py
index 03c1fa10d3fea5a46c62211fb77b1f748ddfb3ea..d9bf23fc847f50923cdd97bedfde74f62d459d7a 100644
--- a/geomagio/edge/RawInputClient.py
+++ b/geomagio/edge/RawInputClient.py
@@ -131,7 +131,7 @@ class RawInputClient():
         the correct length.  We only expect observatory to ever be of an
         incorrect length.
         """
-        return network + observatory.ljust(5) + channel + location
+        return str(network + observatory.ljust(5) + channel + location)
 
     def forceout(self):
         """ force edge to recognize data