diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py
index c7a9810..657cb2e 100644
--- a/src/osmo_gsm_tester/obj/enb_amarisoft.py
+++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py
@@ -49,6 +49,7 @@
     CFGFILE_RF = 'amarisoft_rf_driver.cfg'
     CFGFILE_DRB = 'amarisoft_drb.cfg'
     LOGFILE = 'lteenb.log'
+    PHY_SIGNAL_FILE = 'lteenb.log.bin'
 
     def __init__(self, testenv, conf):
         super().__init__(testenv, conf, 'amarisoftenb')
@@ -95,6 +96,11 @@
         except Exception as e:
             self.log(repr(e))
 
+        try:
+            self.rem_host.scpfrom('scp-back-phy-signal-log', self.remote_phy_signal_file, self.phy_signal_file)
+        except Exception as e:
+            self.log(repr(e))
+
     def start(self, epc):
         self.log('Starting AmarisoftENB')
         self._epc = epc
@@ -140,6 +146,7 @@
         self.config_rf_file = self.run_dir.child(AmarisoftENB.CFGFILE_RF)
         self.config_drb_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB)
         self.log_file = self.run_dir.child(AmarisoftENB.LOGFILE)
+        self.phy_signal_file = self.run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE)
 
         if not self._run_node.is_local():
             self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr())
@@ -153,6 +160,7 @@
             self.remote_config_rf_file = remote_run_dir.child(AmarisoftENB.CFGFILE_RF)
             self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB)
             self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE)
+            self.remote_phy_signal_file = remote_run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE)
 
         values = super().configure(['amarisoft', 'amarisoftenb'])
 
@@ -191,6 +199,9 @@
         logfile = self.log_file if self._run_node.is_local() else self.remote_log_file
         config.overlay(values, dict(enb=dict(log_filename=logfile)))
 
+        phy_signal_file = self.phy_signal_file if self._run_node.is_local() else self.remote_phy_signal_file
+        config.overlay(values, dict(enb=dict(phy_signal_file=phy_signal_file)))
+
         # rf driver is shared between amarisoft enb and ue, so it has a
         # different cfg namespace 'trx'. Copy needed values over there:
         config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None),
