diff --git a/X11/xf_color.c b/X11/xf_color.c
index 20a288d..669c283 100644
--- a/X11/xf_color.c
+++ b/X11/xf_color.c
@@ -36,10 +36,10 @@
 #include <string.h>
 #include "xf_types.h"
 
-#define SPLIT32BGR(_alpha, _red, _green, _blue, _pixel) \
-  _red = _pixel & 0xff; \
+#define SPLIT32ARGB(_alpha, _red, _green, _blue, _pixel) \
+  _blue = _pixel & 0xff; \
   _green = (_pixel & 0xff00) >> 8; \
-  _blue = (_pixel & 0xff0000) >> 16; \
+  _red = (_pixel & 0xff0000) >> 16; \
   _alpha = (_pixel & 0xff000000) >> 24;
 
 #define SPLIT24BGR(_red, _green, _blue, _pixel) \
@@ -168,7 +168,7 @@ xf_color(xfInfo * xfi, int in_color, int in_bpp, int out_bpp)
 	switch (in_bpp)
 	{
 		case 32:
-			SPLIT32BGR(alpha, red, green, blue, in_color);
+			SPLIT32ARGB(alpha, red, green, blue, in_color);
 			break;
 		case 24:
 			SPLIT24BGR(red, green, blue, in_color);
