diff --git a/bin/start-ds.sh b/bin/start-ds.sh
index 86ed80dd8b044027b967b46074295b15e9a271a5..fcbbb2a5e921ccb6ead741f535e1c670b3a1bdba 100755
--- a/bin/start-ds.sh
+++ b/bin/start-ds.sh
@@ -46,4 +46,6 @@ fi
 # docker-compose files.
 cd "$CWD" || exit 1
 
-/usr/local/bin/wait-for-it.sh "$TANGO_HOST" --timeout=30 --strict -- "$@"
+# Replace this script's process with the actual command, allowing any signals
+# send to the bash PID to be sent to the command directly.
+exec /usr/local/bin/wait-for-it.sh "$TANGO_HOST" --timeout=30 --strict -- "$@"
diff --git a/docker-compose/device-antennafield.yml b/docker-compose/device-antennafield.yml
index ec08ce0f28fd0817d663f122983fcbcfef8ed060..1227a4b32d20cf6a4c90690606ee33480671536c 100644
--- a/docker-compose/device-antennafield.yml
+++ b/docker-compose/device-antennafield.yml
@@ -50,3 +50,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-antennafield AntennaField STAT -v -ORBendPoint giop:tcp:0:5715 -ORBendPointPublish giop:tcp:${HOSTNAME}:5715
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-apsct.yml b/docker-compose/device-apsct.yml
index 024ca94227ef4149c4a42a5b83b08f61ea85e2c9..6cf44394af1c53b936fef369bb9ea791802394c4 100644
--- a/docker-compose/device-apsct.yml
+++ b/docker-compose/device-apsct.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-apsct Apsct STAT -v  -v -ORBendPoint giop:tcp:device-apsct:5709 -ORBendPointPublish giop:tcp:${HOSTNAME}:5709
     restart: on-failure
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-apspu.yml b/docker-compose/device-apspu.yml
index e70df9a1be75ea2c83c2d6049bedd0fd88d8dcab..fd9f8942f91f7ae71a7cff4e240f3ebe573455a3 100644
--- a/docker-compose/device-apspu.yml
+++ b/docker-compose/device-apspu.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-apspu Apspu STAT -v -ORBendPoint giop:tcp:device-apspu:5710 -ORBendPointPublish giop:tcp:${HOSTNAME}:5710
     restart: on-failure
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-beamlet.yml b/docker-compose/device-beamlet.yml
index 27dcc8020b333f687fdc389c71ccbe4276a80061..3094b64b5f49ffcaf4932317446e7ce29de896d3 100644
--- a/docker-compose/device-beamlet.yml
+++ b/docker-compose/device-beamlet.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-beamlet Beamlet STAT -v -ORBendPoint giop:tcp:0:5712 -ORBendPointPublish giop:tcp:${HOSTNAME}:5712
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-boot.yml b/docker-compose/device-boot.yml
index ae17797e75303adc66eaf83e0ae8f659b178980b..2e9f8aa9d11387bd9c4199de9dde79835da35404 100644
--- a/docker-compose/device-boot.yml
+++ b/docker-compose/device-boot.yml
@@ -48,3 +48,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-boot Boot STAT -v -ORBendPoint giop:tcp:0:5708 -ORBendPointPublish giop:tcp:${HOSTNAME}:5708
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-bst.yml b/docker-compose/device-bst.yml
index 9655beb47a01f8a159206b8488f63cd4c59d6bed..64be2362d32f6f4a83c08e0ed1cc83a6df85b762 100644
--- a/docker-compose/device-bst.yml
+++ b/docker-compose/device-bst.yml
@@ -52,3 +52,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-bst BST STAT -v -ORBendPoint giop:tcp:0:5717 -ORBendPointPublish giop:tcp:${HOSTNAME}:5717
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-ccd.yml b/docker-compose/device-ccd.yml
index 7531012fd4983fadecbf51cdee70e6735135cbcc..ad53c0afa7d89312fa513c03fddfca5fe9309cc8 100644
--- a/docker-compose/device-ccd.yml
+++ b/docker-compose/device-ccd.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-ccd Ccd STAT -v -ORBendPoint giop:tcp:device-ccd:5721 -ORBendPointPublish giop:tcp:${HOSTNAME}:5721
     restart: on-failure
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-digitalbeam.yml b/docker-compose/device-digitalbeam.yml
index 36801cd02e8fc97811910b0abb762315ca70b209..3e4424deefdd5e0b293fb0163a5536045d6c224f 100644
--- a/docker-compose/device-digitalbeam.yml
+++ b/docker-compose/device-digitalbeam.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-digitalbeam DigitalBeam STAT -v -ORBendPoint giop:tcp:0:5713 -ORBendPointPublish giop:tcp:${HOSTNAME}:5713
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-docker.yml b/docker-compose/device-docker.yml
index c531ac63b1272a828cd619a43f3487d26a64e997..0d3935796b27006dfdad8fa21c50d11a94f22768 100644
--- a/docker-compose/device-docker.yml
+++ b/docker-compose/device-docker.yml
@@ -51,3 +51,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-docker-device Docker STAT -v -ORBendPoint giop:tcp:0:5705 -ORBendPointPublish giop:tcp:${HOSTNAME}:5705
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-observation-control.yml b/docker-compose/device-observation-control.yml
index 42b9e48a96e113eaaf1988512ea6727bf1ee4fb4..3eb2e4cdda2c2e4215e8cd38e1fd5f4d3844092a 100644
--- a/docker-compose/device-observation-control.yml
+++ b/docker-compose/device-observation-control.yml
@@ -48,3 +48,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-observation-control ObservationControl STAT -v -ORBendPoint giop:tcp:0:5703 -ORBendPointPublish giop:tcp:${HOSTNAME}:5703
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-observation.yml b/docker-compose/device-observation.yml
index 48bb753937d758cf0db40001a7eaf5d61ce542e1..a002d06f413260a903013a4db37795aeda3755bd 100644
--- a/docker-compose/device-observation.yml
+++ b/docker-compose/device-observation.yml
@@ -47,3 +47,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-observation Observation STAT -v -ORBendPoint giop:tcp:0:5718 -ORBendPointPublish giop:tcp:${HOSTNAME}:5718
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-pcon.yml b/docker-compose/device-pcon.yml
index 1c8140aaac4d459c81cd9bcaf5c9e44d03b74334..3165b6ee0d0bcd6cc27e39d05b93b71ec1cf5ac0 100644
--- a/docker-compose/device-pcon.yml
+++ b/docker-compose/device-pcon.yml
@@ -44,3 +44,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-pcon pcon STAT -v -ORBendPoint giop:tcp:device-pcon:5720 -ORBendPointPublish giop:tcp:${HOSTNAME}:5720
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-psoc.yml b/docker-compose/device-psoc.yml
index b493627aaaaf2a6af5c66153b68de814c7bc6b7c..25e33b3b215fd6300d983f6483d8e7524dcee5c0 100644
--- a/docker-compose/device-psoc.yml
+++ b/docker-compose/device-psoc.yml
@@ -44,3 +44,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-psoc PSOC STAT -v -ORBendPoint giop:tcp:device-psoc:5719 -ORBendPointPublish giop:tcp:${HOSTNAME}:5719
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-recv.yml b/docker-compose/device-recv.yml
index 134c2ccb41647fb12abd49bb1353df5797d6d35a..bec614c9bf277acbbe80e830872d346f08d50b75 100644
--- a/docker-compose/device-recv.yml
+++ b/docker-compose/device-recv.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-receiver RECV STAT -v -ORBendPoint giop:tcp:device-recv:5707 -ORBendPointPublish giop:tcp:${HOSTNAME}:5707
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-sdp.yml b/docker-compose/device-sdp.yml
index 61f8eb34102cc0645ce66921650a478fd2f72fcb..e3691921caff22f0f06c5c02679deeeb001a314b 100644
--- a/docker-compose/device-sdp.yml
+++ b/docker-compose/device-sdp.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-sdp SDP STAT -v -ORBendPoint giop:tcp:device-sdp:5701 -ORBendPointPublish giop:tcp:${HOSTNAME}:5701
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-sst.yml b/docker-compose/device-sst.yml
index 5db68a00c1430d6e1cc0c04b17e3d9554ce0c20d..53d24c8fe24d0368b967953dfb99680714ecad98 100644
--- a/docker-compose/device-sst.yml
+++ b/docker-compose/device-sst.yml
@@ -52,3 +52,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-sst SST STAT -v -ORBendPoint giop:tcp:0:5702 -ORBendPointPublish giop:tcp:${HOSTNAME}:5702
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-temperature-manager.yml b/docker-compose/device-temperature-manager.yml
index eb87e6e599557b52219bf4d4f99b3b829d97d0b1..8cf747710a39002f7ba79ac8728013e0dcb7a136 100644
--- a/docker-compose/device-temperature-manager.yml
+++ b/docker-compose/device-temperature-manager.yml
@@ -44,3 +44,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-temperature-manager TemperatureManager STAT -v -ORBendPoint giop:tcp:0:5716 -ORBendPointPublish giop:tcp:${HOSTNAME}:5716
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-tilebeam.yml b/docker-compose/device-tilebeam.yml
index c8665d568982663acb6859f23686ade25e3b33fc..fcc4eefb4686524843de2a64c5bf071840d4285f 100644
--- a/docker-compose/device-tilebeam.yml
+++ b/docker-compose/device-tilebeam.yml
@@ -45,3 +45,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-tilebeam TileBeam STAT -v -ORBendPoint giop:tcp:0:5711 -ORBendPointPublish giop:tcp:${HOSTNAME}:5711
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-unb2.yml b/docker-compose/device-unb2.yml
index cbb31b0ef2585812808b3f17d8b4270c25fa4947..9727d72c1f69e821996aa1451e0846a6b479d8f6 100644
--- a/docker-compose/device-unb2.yml
+++ b/docker-compose/device-unb2.yml
@@ -49,3 +49,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-unb2 UNB2 STAT -v -ORBendPoint giop:tcp:device-unb2:5704 -ORBendPointPublish giop:tcp:${HOSTNAME}:5704
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/docker-compose/device-xst.yml b/docker-compose/device-xst.yml
index cdceac715982f7609764c6cb0092070111a6e3a0..44b61c734ad80edf2c37f07a4d243e131df39854 100644
--- a/docker-compose/device-xst.yml
+++ b/docker-compose/device-xst.yml
@@ -52,3 +52,5 @@ services:
       # can't know about our Docker port forwarding
       - l2ss-xst XST STAT -v -ORBendPoint giop:tcp:0:5706 -ORBendPointPublish giop:tcp:${HOSTNAME}:5706
     restart: unless-stopped
+    stop_signal: SIGINT # request a graceful shutdown of Tango
+    stop_grace_period: 2s
diff --git a/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_beamlet.py b/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_beamlet.py
index f6658bb714e7c8edf659fd36eda73e889bad955a..108491bca005157b42c8200467b4ada841d3ee9f 100644
--- a/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_beamlet.py
+++ b/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_beamlet.py
@@ -11,6 +11,8 @@ from .base import AbstractTestBases
 
 from tangostationcontrol.integration_test.device_proxy import TestDeviceProxy
 
+from tango import DevState
+
 import numpy
 import numpy.testing
 import time
@@ -41,8 +43,6 @@ class TestDeviceBeamlet(AbstractTestBases.TestDeviceBase):
         sdp_proxy = self.setup_sdp()
 
         self.proxy.initialise()
-        # TODO(Corne): Update test so effects of attribute are asserted L2SS-984
-        # self.proxy.subband_select_RW = [0] * 488
         self.proxy.on()
 
         # The subband frequency of HBA subband 0 is 200 MHz,
@@ -58,14 +58,34 @@ class TestDeviceBeamlet(AbstractTestBases.TestDeviceBase):
         expected_bf_weights = numpy.array([49152] * 192 * 488, dtype=numpy.uint32)
 
         numpy.testing.assert_almost_equal(expected_bf_weights, calculated_bf_weights)
+    
+    def test_subband_select_change(self):
+        # Setup configuration
+        sdp_proxy = self.setup_sdp()
+
+        # Change subband 
+        self.proxy.off()
+        self.proxy.initialise()
+        self.assertEqual(DevState.STANDBY, self.proxy.state())
+        self.proxy.subband_select_RW = [10] * 488
+        self.proxy.on()
+        self.assertEqual(DevState.ON, self.proxy.state())
+
+        # The subband frequency of HBA subband 10 is 201953125 Hz
+        # so its period is 4.95 ns ca, half period is 2.4758e-9
+        delays = numpy.array([[2.4758e-9] * 192] * 488)
+        calculated_bf_weights_subband_10 = self.proxy.calculate_bf_weights(delays.flatten())
+        
+        self.assertEqual(-2**14, c_short(49152).value) # check our calculations
+        expected_bf_weights_10 = numpy.array([49152] * 192 * 488, dtype=numpy.uint32)
+        numpy.testing.assert_almost_equal(expected_bf_weights_10, calculated_bf_weights_subband_10)
 
     def test_sdp_clock_change(self):
         # Setup configuration
         sdp_proxy = self.setup_sdp()
 
         self.proxy.initialise()
-        # TODO(Corne): Update test so effects of attribute are asserted L2SS-984
-        # self.proxy.subband_select_RW = list(range(488))
+        self.proxy.subband_select_RW = numpy.array(list(range(317)) + [316] + list(range(318,488)), dtype=numpy.uint32)
         self.proxy.on()
 
         # any non-zero delay should result in different weights for different clocks
@@ -87,3 +107,16 @@ class TestDeviceBeamlet(AbstractTestBases.TestDeviceBase):
         self.assertTrue((calculated_bf_weights_200 != calculated_bf_weights_160).all())
         self.assertTrue((calculated_bf_weights_200 == calculated_bf_weights_200_v2).all())
 
+        # change subbands
+        self.proxy.off()
+        self.proxy.initialise()
+        self.proxy.subband_select_RW = [317] * 488
+        self.proxy.on()
+        calculated_bf_weights_200_v3 = self.proxy.calculate_bf_weights(delays.flatten())
+        self.assertTrue((calculated_bf_weights_200_v2 != calculated_bf_weights_200_v3).all())
+
+        sdp_proxy.clock_RW = 160 * 1000000
+        time.sleep(1) # wait for beamlet device to process change event
+        calculated_bf_weights_160_v2 = self.proxy.calculate_bf_weights(delays.flatten())
+        self.assertTrue((calculated_bf_weights_160 != calculated_bf_weights_160_v2).all())
+
diff --git a/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_digitalbeam.py b/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_digitalbeam.py
index 9a7cdd068e9ea34c155e7423ec0816996f8a0fc4..3c48ad0adbc0704995f0c1b4dbdae6e1dc058532 100644
--- a/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_digitalbeam.py
+++ b/tangostationcontrol/tangostationcontrol/integration_test/default/devices/test_device_digitalbeam.py
@@ -14,6 +14,7 @@ from tangostationcontrol.devices.antennafield import AntennaQuality, AntennaUse
 from .base import AbstractTestBases
 
 import numpy
+import time
 
 class TestDeviceDigitalBeam(AbstractTestBases.TestDeviceBase):
 
@@ -34,7 +35,7 @@ class TestDeviceDigitalBeam(AbstractTestBases.TestDeviceBase):
         self.addCleanup(TestDeviceProxy.test_device_turn_off, self.recv_iden)
 
         self.recv_proxy = self.setup_recv_proxy()
-        self.beamlet_proxy = self.setup_beamlet_proxy()
+        self.beamlet_proxy = self.initialise_beamlet_proxy()
 
     def setup_recv_proxy(self):
         recv_proxy = TestDeviceProxy(self.recv_iden)
@@ -43,6 +44,12 @@ class TestDeviceDigitalBeam(AbstractTestBases.TestDeviceBase):
         recv_proxy.set_defaults()
         return recv_proxy
 
+    def initialise_beamlet_proxy(self):
+        beamlet_proxy = TestDeviceProxy(self.beamlet_iden)
+        beamlet_proxy.off()
+        beamlet_proxy.initialise()
+        return beamlet_proxy
+    
     def setup_beamlet_proxy(self):
         beamlet_proxy = TestDeviceProxy(self.beamlet_iden)
         beamlet_proxy.off()
@@ -73,19 +80,22 @@ class TestDeviceDigitalBeam(AbstractTestBases.TestDeviceBase):
         antennafield_proxy.boot()
         return antennafield_proxy
 
-    def test_pointing_to_zenith(self):
+    def test_pointing_to_zenith_clock_change(self):
+        self.addCleanup(TestDeviceProxy.test_device_turn_off, self.beamlet_iden)
         self.addCleanup(TestDeviceProxy.test_device_turn_off, self.sdp_iden)
         self.addCleanup(
             TestDeviceProxy.test_device_turn_off, self.antennafield_iden
         )
 
         self.setup_antennafield_proxy(self.antenna_qualities_ok, self.antenna_use_ok)
-        self.setup_sdp_proxy()
+        self.sdp_proxy = self.setup_sdp_proxy()
+
+        self.beamlet_proxy = self.initialise_beamlet_proxy()
+        self.beamlet_proxy.on()
 
-        # TODO(Corne): Update these and ensure their effects is asserted in tests L2SS-984
-        # Setup beamlet configuration
-        # self.beamlet_proxy.clock_RW = 200 * 1000000
-        # self.beamlet_proxy.subband_select_RW = list(range(488))
+        # Set first (default) clock configuration
+        self.sdp_proxy.clock_RW = 200 * 1000000
+        time.sleep(1)
 
         self.proxy.initialise()
         self.proxy.Tracking_enabled_RW = False
@@ -95,7 +105,52 @@ class TestDeviceDigitalBeam(AbstractTestBases.TestDeviceBase):
         self.proxy.set_pointing(numpy.array([["AZELGEO", "0deg", "90deg"]] * 488).flatten())
 
         # beam weights should now be non-zero, we don't actually check their values for correctness
-        self.assertNotEqual(0, sum(self.beamlet_proxy.FPGA_bf_weights_xx_yy_RW.flatten()))
+        FPGA_bf_weights_xx_yy_clock200 = self.beamlet_proxy.FPGA_bf_weights_xx_yy_RW.flatten()
+        self.assertNotEqual(0, sum(FPGA_bf_weights_xx_yy_clock200))
+
+        self.beamlet_proxy = self.initialise_beamlet_proxy()
+        self.beamlet_proxy.on()
+
+        # Change clock configuration
+        self.sdp_proxy.clock_RW = 160 * 1000000
+        time.sleep(1)
+
+        FPGA_bf_weights_xx_yy_clock160 = self.beamlet_proxy.FPGA_bf_weights_xx_yy_RW.flatten()
+        # Assert some values are different
+        self.assertNotEqual(sum(FPGA_bf_weights_xx_yy_clock160), sum(FPGA_bf_weights_xx_yy_clock200))
+    
+    def test_pointing_to_zenith_subband_change(self):
+        self.addCleanup(TestDeviceProxy.test_device_turn_off, self.beamlet_iden)
+        self.addCleanup(TestDeviceProxy.test_device_turn_off, self.sdp_iden)
+        self.addCleanup(
+            TestDeviceProxy.test_device_turn_off, self.antennafield_iden
+        )
+
+        self.setup_antennafield_proxy(self.antenna_qualities_ok, self.antenna_use_ok)
+        self.sdp_proxy = self.setup_sdp_proxy()
+
+        self.beamlet_proxy = self.initialise_beamlet_proxy()
+        self.beamlet_proxy.subband_select_RW = numpy.array(list(range(317)) + [316] + list(range(318,488)), dtype=numpy.uint32)
+        self.beamlet_proxy.on()
+
+        self.proxy.initialise()
+        self.proxy.Tracking_enabled_RW = False
+        self.proxy.on()
+
+        # Point to Zenith
+        self.proxy.set_pointing(numpy.array([["AZELGEO", "0deg", "90deg"]] * 488).flatten())
+        # Store values with first subband configuration
+        FPGA_bf_weights_xx_yy_subband_v1 = self.beamlet_proxy.FPGA_bf_weights_xx_yy_RW.flatten()
+
+        # Restart beamlet proxy
+        self.beamlet_proxy = self.initialise_beamlet_proxy()
+        self.beamlet_proxy.subband_select_RW = [317] * 488
+        self.beamlet_proxy.on()
+
+        # Store values with second subband configuration
+        FPGA_bf_weights_xx_yy_subband_v2 = self.beamlet_proxy.FPGA_bf_weights_xx_yy_RW.flatten()
+        # Assert some values are different
+        self.assertNotEqual(sum(FPGA_bf_weights_xx_yy_subband_v1), sum(FPGA_bf_weights_xx_yy_subband_v2))
 
     def test_set_pointing_masked_enable(self):
         """Verify that only selected inputs are written"""