diff --git a/devices/devices/sdp/sst.py b/devices/devices/sdp/sst.py
index 2dc32c64a6fae3688d4ce78970490dafe0c618fd..1a62a4edcf28c84f7be865d38f7d5312417b497e 100644
--- a/devices/devices/sdp/sst.py
+++ b/devices/devices/sdp/sst.py
@@ -26,7 +26,7 @@ from tango import AttrWriteType
 
 from clients.attribute_wrapper import attribute_wrapper
 from clients.opcua_client import OPCUAConnection
-from clients.StatisticsClient import StatisticsClient
+from clients.statistics_client import StatisticsClient
 
 from devices.hardware_device import hardware_device
 
diff --git a/devices/devices/sdp/statistics.py b/devices/devices/sdp/statistics.py
index 2a9ddb9ec91e8f3bd55ef2d2d2fed50e1b637c9f..5d10aae8b866acc0b30598856cb63b1ecc6d233a 100644
--- a/devices/devices/sdp/statistics.py
+++ b/devices/devices/sdp/statistics.py
@@ -120,7 +120,7 @@ class Statistics(hardware_device, metaclass=ABCMeta):
         """ user code here. is called when the sate is set to INIT """
         """Initialises the attributes and properties of the statistics device."""
 
-        self.statistics_client = StasticsClient(self.STATISTICS_COLLECTOR_CLASS, "0.0.0.0", self.Statistics_Client_Port, self.Fault, self)
+        self.statistics_client = StatisticsClient(self.STATISTICS_COLLECTOR_CLASS, "0.0.0.0", self.Statistics_Client_Port, self.Fault, self)
 
         self.OPCUA_client = OPCUAConnection("opc.tcp://{}:{}/".format(self.OPC_Server_Name, self.OPC_Server_Port), "http://lofar.eu", self.OPC_Time_Out, self.Fault, self)
 
diff --git a/devices/devices/sdp/statistics_collector.py b/devices/devices/sdp/statistics_collector.py
index f7d01d2cb0615f157b2b6cc161cb199495d94a45..f3aac3c1982b03b169eaddedce52b50c939ddc45 100644
--- a/devices/devices/sdp/statistics_collector.py
+++ b/devices/devices/sdp/statistics_collector.py
@@ -23,7 +23,13 @@ class StatisticsCollector(Thread):
         self.queue = queue
         self.last_packet = None
 
-        self.parameters = {
+        self.parameters = self._default_parameters()
+
+        super().__init__()
+        self.start()
+
+    def _default_parameters(self):
+        return {
             "nof_packets":           numpy.uint64(0),
 
             # Packet count for packets that could not be parsed
@@ -33,9 +39,6 @@ class StatisticsCollector(Thread):
             "last_invalid_packet":   numpy.zeros((9000,), dtype=numpy.uint8),
         }
 
-        super().__init__()
-        self.start()
-
     def run(self):
         logger.info("Starting statistics thread")
 
@@ -54,7 +57,7 @@ class StatisticsCollector(Thread):
             except Exception as e:
                 logger.exception("Could not parse statistics UDP packet")
 
-                self.parameters["last_invalid_packet"] = numpy.frombuffer(packet, dtype=numpy.uint8)
+                self.parameters["last_invalid_packet"] = numpy.frombuffer(self.last_packet, dtype=numpy.uint8)
                 self.parameters["nof_invalid_packets"] += numpy.uint64(1)
 
         logger.info("Stopped statistics thread")
@@ -92,10 +95,10 @@ class SSTCollector(StatisticsCollector):
     # Maximum number of subbands we support (used to determine array sizes)
     MAX_SUBBANDS = 512
 
-    def __init__(self, queue):
-        super().__init__(queue)
+    def _default_parameters(self):
+        defaults = super()._default_parameters()
 
-        self.parameters.extend({
+        defaults.update({
             # Number of packets received so far that we could parse correctly and do not have a payload error
             "nof_valid_payloads":    numpy.zeros((self.MAX_INPUTS,), dtype=numpy.uint64),
 
@@ -108,6 +111,8 @@ class SSTCollector(StatisticsCollector):
             "integration_intervals": numpy.zeros((self.MAX_INPUTS,), dtype=numpy.float32),
         })
 
+        return defaults
+
     def process_packet(self, packet):
         fields = SSTPacket(packet)