diff --git a/ChangeLog b/ChangeLog
index 72791b2..c473643 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-16  Francesco Zappa Nardelli  <Francesco.Zappa.Nardelli@ens.fr>
+
+	* src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
+	tables.
+
 2002-03-29  KUSANO Takayuki  <AE5T-KSN@asahi-net.or.jp>
 
 	* src/sfnt/sfobjs.c (Get_Name): Handle (3,0) name entries similar to
@@ -16,7 +21,7 @@
 2002-03-25  David Turner  <david@freetype.org>
 
 	* src/base/fttrigon.c, src/truetype/ttinterp.c: Fixing the TrueType
-	bytecode interpreter to compute the same values than FreeType 1.
+	bytecode interpreter to compute the same values as FreeType 1.
 
 	The difference came from distinct algorithm for computing the dot
 	product and vector lengths.  It seems that TT bytecode
@@ -39,9 +44,11 @@
 
 2002-03-08  David Turner  <david@freetype.org>
 
+
 	* Version 2.0.9 Released.
 	=========================
 
+
 	* README: updating the FTP addresses of the documentation
 
 	* Jamfile.in, Jamfile: Adding the template file that will be used to
@@ -165,9 +172,11 @@
 
 2002-02-08  David Turner  <david@freetype.org>
 
+
 	* Version 2.0.8 released.
 	=========================
 
+
 	* docs/CHANGES: Updating for 2.0.8.
 
 	* include/freetype/freetype.h: Setting PATCH_LEVEL to 8 and
diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
index 407613c..f54ba7e 100644
--- a/src/pcf/pcfread.c
+++ b/src/pcf/pcfread.c
@@ -821,21 +821,31 @@
         goto Bail;
     }
 
-    error = pcf_get_metric( stream, format, &(accel->minbounds) );
+    /* the accelerator tables never use compressed metrics */
+
+    error = pcf_get_metric( stream,
+                            format & ( ~PCF_FORMAT_MASK ),
+                            &(accel->minbounds) );
     if ( error )
       goto Bail;
 
-    error = pcf_get_metric( stream, format, &(accel->maxbounds) );
+    error = pcf_get_metric( stream,
+                            format & ( ~PCF_FORMAT_MASK ),
+                            &(accel->maxbounds) );
     if ( error )
       goto Bail;
 
     if ( PCF_FORMAT_MATCH( format, PCF_ACCEL_W_INKBOUNDS ) )
     {
-      error = pcf_get_metric( stream, format, &(accel->ink_minbounds) );
+      error = pcf_get_metric( stream,
+                              format & ( ~PCF_FORMAT_MASK ),
+                              &(accel->ink_minbounds) );
       if ( error )
         goto Bail;
 
-      error = pcf_get_metric( stream, format, &(accel->ink_maxbounds) );
+      error = pcf_get_metric( stream,
+                              format & ( ~PCF_FORMAT_MASK ),
+                              &(accel->ink_maxbounds) );
       if ( error )
         goto Bail;
     }
