diff --git a/ironman/communicator.py b/ironman/communicator.py
index <HASH>..<HASH> 100644
--- a/ironman/communicator.py
+++ b/ironman/communicator.py
@@ -6,6 +6,7 @@
 
 from zope.interface import implements
 from ironman.interfaces import ICommunicationSlave, ICommunicationDriver
+from ironman.constructs.ipbus import IPBusWords
 
 class Jarvis(object):
     """ This is the general communication slave.
@@ -53,7 +54,7 @@ class Jarvis(object):
         """
         if packet.request.header.type_id == 'CONTROL':
             for transaction, response in zip(packet.request.data, packet.response.data):
-                response.data = [self.__transaction__(transaction)]
+                response.data = IPBusWords.parse(self.__transaction__(transaction)).data
         return packet
 
     def __transaction__(self, transaction):
Now we don't need to rely on the controllers to give us the right format -- we convert from the string to the integers we need