* src/bdf/bdflib.c (bdf_parse_start_): Move setup of properties.
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index 8527078..b4df8e6 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -1361,29 +1361,6 @@
 
       p->font->memory = memory;
 
-      { /* setup */
-        bdf_property_t*  prop    = (bdf_property_t*)bdf_properties_;
-        FT_Hash          proptbl = &p->font->proptbl;
-        size_t           i;
-
-
-        error = ft_hash_str_init( proptbl, memory );
-        if ( error )
-          goto Exit;
-        for ( i = 0; i < num_bdf_properties_; i++, prop++ )
-        {
-          error = ft_hash_str_insert( prop->name, i, proptbl, memory );
-          if ( error )
-            goto Exit;
-        }
-      }
-
-      if ( FT_QNEW( p->font->internal ) )
-        goto Exit;
-      error = ft_hash_str_init( p->font->internal, memory );
-      if ( error )
-        goto Exit;
-
       goto Exit;
     }
 
@@ -1425,6 +1402,30 @@
         goto Exit;
       }
 
+      if ( FT_QNEW( font->internal ) )
+        goto Exit;
+      error = ft_hash_str_init( font->internal, memory );
+      if ( error )
+        goto Exit;
+
+      /* preset common properties */
+      {
+        bdf_property_t*  prop    = (bdf_property_t*)bdf_properties_;
+        FT_Hash          proptbl = &font->proptbl;
+        size_t           i;
+
+
+        error = ft_hash_str_init( proptbl, memory );
+        if ( error )
+          goto Exit;
+        for ( i = 0; i < num_bdf_properties_; i++, prop++ )
+        {
+          error = ft_hash_str_insert( prop->name, i, proptbl, memory );
+          if ( error )
+            goto Exit;
+        }
+      }
+
       p->flags |= BDF_PROPS_;
       *next     = bdf_parse_properties_;