--- goodies/source/filter.vcl/expm/expm.cxx
+++ goodies/source/filter.vcl/expm/expm.cxx
@@ -256,7 +256,7 @@ void XPMWriter::ImplWriteColor( USHORT n
 	*mpOStm << "c #";	// # zeigt einen folgenden Hexwert an
 	const BitmapColor& rColor = mpAcc->GetPaletteColor( nNumber );
 	nTmp = ( rColor.GetRed() << 16 ) | ( rColor.GetGreen() << 8 ) | rColor.GetBlue();
-	for ( char i = 20; i >= 0 ; i-=4 )
+	for ( signed char i = 20; i >= 0 ; i-=4 )
 	{
 		if ( ( j = (BYTE)( nTmp >> i ) & 0xf ) > 9 )
 			j += 'A' - 10;
--- goodies/source/filter.vcl/ipbm/ipbm.cxx
+++ goodies/source/filter.vcl/ipbm/ipbm.cxx
@@ -270,7 +270,7 @@ BOOL PBMReader::ImplReadBody()
 	ULONG	nGrey, nRGB[3];
 	ULONG	nWidth = 0;
 	ULONG	nHeight = 0;
-	char	nShift = 0;
+	signed char	nShift = 0;
 
 	if ( mbRaw )
 	{
--- goodies/source/filter.vcl/ipsd/ipsd.cxx
+++ goodies/source/filter.vcl/ipsd/ipsd.cxx
@@ -372,7 +372,7 @@ BOOL PSDReader::ImplReadBody()
 {
 	ULONG		nX, nY;
 	char		nRunCount = 0;
-	char		nBitCount = -1;
+	signed char	nBitCount = -1;
 	BYTE		nDat = 0, nDummy, nRed, nGreen, nBlue;
 	BitmapColor	aBitmapColor;
 	nX = nY = 0;
