diff --git a/src/hb-ft.cc b/src/hb-ft.cc
index 0a6db9b..5c88a7f 100644
--- a/src/hb-ft.cc
+++ b/src/hb-ft.cc
@@ -177,15 +177,15 @@
 
 #if defined(HAVE_FT_GET_VAR_BLEND_COORDINATES) && !defined(HB_NO_VAR)
   unsigned int num_coords;
-  const int *coords = hb_font_get_var_coords_normalized (font, &num_coords);
+  const float *coords = hb_font_get_var_coords_design (font, &num_coords);
   if (num_coords)
   {
     FT_Fixed *ft_coords = (FT_Fixed *) hb_calloc (num_coords, sizeof (FT_Fixed));
     if (ft_coords)
     {
       for (unsigned int i = 0; i < num_coords; i++)
-	ft_coords[i] = coords[i] * 4;
-      FT_Set_Var_Blend_Coordinates (ft_face, num_coords, ft_coords);
+	  ft_coords[i] = coords[i] * 65536.f;
+      FT_Set_Var_Design_Coordinates (ft_face, num_coords, ft_coords);
       hb_free (ft_coords);
     }
   }
diff --git a/util/helper-cairo-ft.hh b/util/helper-cairo-ft.hh
index 17de694..5152c7c 100644
--- a/util/helper-cairo-ft.hh
+++ b/util/helper-cairo-ft.hh
@@ -82,15 +82,15 @@
   {
 #if !defined(HB_NO_VAR) && defined(HAVE_FT_SET_VAR_BLEND_COORDINATES)
     unsigned int num_coords;
-    const int *coords = hb_font_get_var_coords_normalized (font_opts->font, &num_coords);
+    const float *coords = hb_font_get_var_coords_design (font_opts->font, &num_coords);
     if (num_coords)
     {
       FT_Fixed *ft_coords = (FT_Fixed *) calloc (num_coords, sizeof (FT_Fixed));
       if (ft_coords)
       {
 	for (unsigned int i = 0; i < num_coords; i++)
-	  ft_coords[i] = coords[i] << 2;
-	FT_Set_Var_Blend_Coordinates (ft_face, num_coords, ft_coords);
+	  ft_coords[i] = coords[i] * 65536.f;
+	FT_Set_Var_Design_Coordinates (ft_face, num_coords, ft_coords);
 	free (ft_coords);
       }
     }
