diff --git a/geomagio/Controller.py b/geomagio/Controller.py
index 6297df4306b6e88aa9d69ba724172b453655c2ae..1380c34b025f5cd109a86729655ef59b65991a29 100644
--- a/geomagio/Controller.py
+++ b/geomagio/Controller.py
@@ -491,8 +491,6 @@ def get_input_factory(args):
     # standard arguments
     input_factory_args = {}
     input_factory_args["interval"] = args.input_interval or args.interval
-    input_factory_args["scale_factor"] = args.input_scale_factor or args.scale_factor
-    input_factory_args["sncl_mode"] = args.input_sncl_mode or args.sncl_mode
     input_factory_args["observatory"] = args.observatory
     input_factory_args["type"] = args.type
     input_type = args.input
@@ -519,6 +517,8 @@ def get_input_factory(args):
             host=args.input_host,
             port=args.input_port,
             locationCode=args.locationcode,
+            scale_factor=args.input_scale_factor or args.scale_factor,
+            sncl_mode=args.input_sncl_mode or args.sncl_mode,
             **input_factory_args,
         )
     elif input_type == "goes":
@@ -564,6 +564,8 @@ def get_input_factory(args):
                 port=args.input_port,
                 locationCode=args.locationcode,
                 convert_channels=args.convert_voltbin,
+                scale_factor=args.input_scale_factor or args.scale_factor,
+                sncl_mode=args.input_sncl_mode or args.sncl_mode,
                 **input_factory_args,
             )
         elif input_type == "xml":
@@ -602,8 +604,6 @@ def get_output_factory(args):
     # standard arguments
     output_factory_args = {}
     output_factory_args["interval"] = args.output_interval or args.interval
-    output_factory_args["scale_factor"] = args.output_scale_factor or args.scale_factor
-    output_factory_args["sncl_mode"] = args.ouput_sncl_mode or args.sncl_mode
     output_factory_args["observatory"] = args.output_observatory
     output_factory_args["type"] = args.type
     # stream/url arguments
@@ -632,6 +632,8 @@ def get_output_factory(args):
             locationCode=locationcode,
             tag=args.output_edge_tag,
             forceout=args.output_edge_forceout,
+            scale_factor=args.input_scale_factor or args.scale_factor,
+            sncl_mode=args.input_sncl_mode or args.sncl_mode,
             **output_factory_args,
         )
     elif output_type == "plot":
@@ -662,6 +664,8 @@ def get_output_factory(args):
                 port=args.output_read_port,
                 write_port=args.output_port,
                 locationCode=locationcode,
+                scale_factor=args.input_scale_factor or args.scale_factor,
+                sncl_mode=args.input_sncl_mode or args.sncl_mode,
                 **output_factory_args,
             )
         elif output_type == "xml":