diff --git a/geomagio/TimeseriesUtility.py b/geomagio/TimeseriesUtility.py
index da7086d967b2e2c20c817b1381d204a1039dba80..69917909fdbaf3911d968f4e193dc5e81ee60705 100644
--- a/geomagio/TimeseriesUtility.py
+++ b/geomagio/TimeseriesUtility.py
@@ -195,9 +195,26 @@ def merge_streams(*streams):
         stream with contiguous traces merged, and gaps filled with numpy.nan
     """
     merged = obspy.core.Stream()
+<<<<<<< HEAD
     # add unmasked, split traces to be merged
     for stream in streams:
         merged += mask_stream(stream)
+=======
+    masked_trace = None
+
+    # add unmasked, split traces to be merged
+    for stream in streams:
+        merged += mask_stream(stream)
+
+    # if trace is completely masked separate out to be added back in later
+    for trace in merged:
+        if trace.data.mask.all():
+            if not masked_trace:
+                masked_trace = trace
+            else:
+                masked_trace += trace
+
+>>>>>>> Merge stream issues with empty channels
     # split traces that contain gaps
     merged = merged.split()
     # merge data
@@ -206,6 +223,19 @@ def merge_streams(*streams):
             interpolation_samples=1,
             # 1 = when there is overlap, use data from trace with last endtime
             method=1)
+<<<<<<< HEAD
+=======
+    # print('\n masked trace \n')
+    # print(masked_trace)
+    # trim masked trace to the same size as other traces and add back to merged stream
+    if masked_trace:
+        masked_trace.trim(merged[0].stats.starttime,merged[0].stats.endtime)
+        merged += masked_trace
+    # print('\n after merging masked trace back in \n')
+    # print(merged)
+
+
+>>>>>>> Merge stream issues with empty channels
     # convert back to NaN filled array
     merged = unmask_stream(merged)
     return merged