diff --git a/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py b/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py
index 717d2d9bb38e54dbb0eed63548955498d06cd010..ae61d77bd51299d8dba44e77422d09d324d1ec53 100644
--- a/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py
+++ b/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py
@@ -149,8 +149,8 @@ class Beamlet(opcua_device):
         
         # Convert array values in complex numbers
         unit = numpy.power(2,14)
-        real = numpy.array(unit * numpy.sin(phases), dtype=numpy.short)
-        imag = numpy.array(unit * numpy.cos(phases), dtype=numpy.short)
+        real = numpy.array(unit * numpy.cos(phases), dtype=numpy.short)
+        imag = numpy.array(unit * numpy.sin(phases), dtype=numpy.short)
         # join 16 bits of imaginary part (MSB) with 16 bits of real part (LSB)
         bf_weights = numpy.array( numpy.frombuffer( b''.join([imag,real]), dtype=numpy.uint32 ) )