diff --git a/Lib/ctypes/test/test_bitfields.py b/Lib/ctypes/test/test_bitfields.py
index 2867cbf..ddd753e 100644
--- a/Lib/ctypes/test/test_bitfields.py
+++ b/Lib/ctypes/test/test_bitfields.py
@@ -215,6 +215,21 @@
                         ("b", c_ubyte, 4)]
         self.failUnlessEqual(sizeof(X), sizeof(c_byte))
 
+    def test_mixed_4(self):
+        class X(Structure):
+            _fields_ = [("a", c_short, 4),
+                        ("b", c_short, 4),
+                        ("c", c_int, 24),
+                        ("d", c_short, 4),
+                        ("e", c_short, 4),
+                        ("f", c_int, 24)]
+        # MS compilers do NOT combine c_short and c_int into
+        # one field, gcc does.
+        if os.name in ("nt", "ce"):
+            self.failUnlessEqual(sizeof(X), sizeof(c_int) * 4)
+        else:
+            self.failUnlessEqual(sizeof(X), sizeof(c_int) * 2)
+
     def test_anon_bitfields(self):
         # anonymous bit-fields gave a strange error message
         class X(Structure):
diff --git a/Misc/NEWS b/Misc/NEWS
index a4c2ef5..1a58dba 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -86,6 +86,9 @@
 Library
 -------
 
+- Issue #3547: Fixed ctypes structures bitfields of varying integer
+  sizes.
+
 - Issue #3762: platform.architecture() fails if python is lanched via
   its symbolic link.
 
diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c
index d310ac5..adf8597 100644
--- a/Modules/_ctypes/cfield.c
+++ b/Modules/_ctypes/cfield.c
@@ -163,7 +163,7 @@
 		break;
 
 	case EXPAND_BITFIELD:
-		/* XXX needs more */
+		*poffset += dict->size - *pfield_size/8;
 		*psize += dict->size - *pfield_size/8;
 
 		*pfield_size = dict->size * 8;
