struct.pack has become picky about h (short) and H (unsigned short).
diff --git a/Mac/Demo/imgbrowse/mac_image.py b/Mac/Demo/imgbrowse/mac_image.py
index c4b034e..4e3881f 100644
--- a/Mac/Demo/imgbrowse/mac_image.py
+++ b/Mac/Demo/imgbrowse/mac_image.py
@@ -13,7 +13,7 @@
 	"""kludge a pixmap together"""
 	fmtinfo = _fmt_to_mac[fmt]
 	
-	rv = struct.pack("lhhhhhhhlllhhhhlll",
+	rv = struct.pack("lHhhhhhhlllhhhhlll",
 		id(data)+MacOS.string_id_to_buffer, # HACK HACK!!
 		w*2 + 0x8000,
 		0, 0, h, w,
diff --git a/Mac/Lib/PixMapWrapper.py b/Mac/Lib/PixMapWrapper.py
index 39e5f8e..72a64ba 100644
--- a/Mac/Lib/PixMapWrapper.py
+++ b/Mac/Lib/PixMapWrapper.py
@@ -15,7 +15,7 @@
 # PixMap data structure element format (as used with struct)
 _pmElemFormat = {
 	'baseAddr':'l',		# address of pixel data
-	'rowBytes':'h',		# bytes per row, plus 0x8000
+	'rowBytes':'H',		# bytes per row, plus 0x8000
 	'bounds':'hhhh',	# coordinates imposed over pixel data
 		'top':'h',
 		'left':'h',