diff --git a/include/share/endswap.h b/include/share/endswap.h
index c313333..86bf857 100644
--- a/include/share/endswap.h
+++ b/include/share/endswap.h
@@ -58,8 +58,8 @@ static inline unsigned short __builtin_bswap16(unsigned short a)
 
 #else
 
-#define	ENDSWAP_16(x)		((((x) >> 8) & 0xFF) + (((x) & 0xFF) << 8))
-#define	ENDSWAP_32(x)		((((x) >> 24) & 0xFF) + (((x) >> 8) & 0xFF00) + (((x) & 0xFF00) << 8) + (((x) & 0xFF) << 24))
+#define	ENDSWAP_16(x)		((((x) >> 8) & 0xFF) | (((x) & 0xFF) << 8))
+#define	ENDSWAP_32(x)		((((x) >> 24) & 0xFF) | (((x) >> 8) & 0xFF00) | (((x) & 0xFF00) << 8) | (((x) & 0xFF) << 24))
 
 #endif
 
