diff --git a/src/hb-unicode.c b/src/hb-unicode.c
index 46b90b8..47c0396 100644
--- a/src/hb-unicode.c
+++ b/src/hb-unicode.c
@@ -32,14 +32,20 @@
  * hb_unicode_funcs_t
  */
 
+static hb_codepoint_t hb_unicode_get_mirroring_char_nil (hb_codepoint_t unicode) { return unicode; }
+static hb_category_t hb_unicode_get_general_category_nil (hb_codepoint_t unicode) { return HB_CATEGORY_OTHER_LETTER; }
+static hb_script_t hb_unicode_get_script_nil (hb_codepoint_t unicode) { return HB_SCRIPT_UNKNOWN; }
+static unsigned int hb_unicode_get_combining_class_nil (hb_codepoint_t unicode) { return 0; }
+static unsigned int hb_unicode_get_eastasian_width_nil (hb_codepoint_t unicode) { return 1; }
+
 static hb_unicode_funcs_t _hb_unicode_funcs_nil = {
   HB_REFERENCE_COUNT_INVALID, /* ref_count */
 
-  NULL, /*get_general_category */
-  NULL, /*get_combining_class */
-  NULL, /*get_mirroring_char */
-  NULL, /*get_script */
-  NULL  /*get_eastasian_width */
+  hb_unicode_get_general_category_nil,
+  hb_unicode_get_combining_class_nil,
+  hb_unicode_get_mirroring_char_nil,
+  hb_unicode_get_script_nil,
+  hb_unicode_get_eastasian_width_nil
 };
 
 hb_unicode_funcs_t *
@@ -50,6 +56,9 @@
   if (!HB_OBJECT_DO_CREATE (hb_unicode_funcs_t, ufuncs))
     return &_hb_unicode_funcs_nil;
 
+  *ufuncs = _hb_unicode_funcs_nil;
+  HB_OBJECT_DO_INIT (ufuncs);
+
   return ufuncs;
 }
 
@@ -95,7 +104,7 @@
   if (HB_OBJECT_IS_INERT (ufuncs))
     return;
 
-  ufuncs->get_mirroring_char = mirroring_char_func;
+  ufuncs->get_mirroring_char = mirroring_char_func ? mirroring_char_func : hb_unicode_get_mirroring_char_nil;
 }
 
 void
@@ -105,7 +114,7 @@
   if (HB_OBJECT_IS_INERT (ufuncs))
     return;
 
-  ufuncs->get_general_category = general_category_func;
+  ufuncs->get_general_category = general_category_func ? general_category_func : hb_unicode_get_general_category_nil;
 }
 
 void
@@ -115,7 +124,7 @@
   if (HB_OBJECT_IS_INERT (ufuncs))
     return;
 
-  ufuncs->get_script = script_func;
+  ufuncs->get_script = script_func ? script_func : hb_unicode_get_script_nil;
 }
 
 void
@@ -125,7 +134,7 @@
   if (HB_OBJECT_IS_INERT (ufuncs))
     return;
 
-  ufuncs->get_combining_class = combining_class_func;
+  ufuncs->get_combining_class = combining_class_func ? combining_class_func : hb_unicode_get_combining_class_nil;
 }
 
 void
@@ -135,6 +144,6 @@
   if (HB_OBJECT_IS_INERT (ufuncs))
     return;
 
-  ufuncs->get_eastasian_width = eastasian_width_func;
+  ufuncs->get_eastasian_width = eastasian_width_func ? eastasian_width_func : hb_unicode_get_eastasian_width_nil;
 }
 
