diff --git a/src/sdf/ftbsdf.c b/src/sdf/ftbsdf.c
index 901d8b7..e472738 100644
--- a/src/sdf/ftbsdf.c
+++ b/src/sdf/ftbsdf.c
@@ -1173,9 +1173,12 @@
 
   /* called when adding a new module through @FT_Add_Module */
   static FT_Error
-  bsdf_raster_new( FT_Memory      memory,
-                   BSDF_PRaster*  araster )
+  bsdf_raster_new( void*       memory_,    /* FT_Memory     */
+                   FT_Raster*  araster_ )  /* BSDF_PRaster* */
   {
+    FT_Memory      memory  = (FT_Memory)memory_;
+    BSDF_PRaster*  araster = (BSDF_PRaster*)araster_;
+
     FT_Error      error;
     BSDF_PRaster  raster = NULL;
 
diff --git a/src/sdf/ftsdf.c b/src/sdf/ftsdf.c
index 0a43e9b..bc4625d 100644
--- a/src/sdf/ftsdf.c
+++ b/src/sdf/ftsdf.c
@@ -3762,9 +3762,13 @@
    */
 
   static FT_Error
-  sdf_raster_new( FT_Memory     memory,
-                  SDF_PRaster*  araster )
+  sdf_raster_new( void*       memory_,   /* FT_Memory    */
+                  FT_Raster*  araster_ ) /* SDF_PRaster* */
   {
+    FT_Memory     memory  = (FT_Memory)memory_;
+    SDF_PRaster*  araster = (SDF_PRaster*)araster_;
+
+
     FT_Error     error;
     SDF_PRaster  raster = NULL;
 
diff --git a/src/sdf/ftsdfrend.c b/src/sdf/ftsdfrend.c
index 9ac7d6f..c4d1a8c 100644
--- a/src/sdf/ftsdfrend.c
+++ b/src/sdf/ftsdfrend.c
@@ -197,10 +197,10 @@
 
 
   static FT_Module_Interface
-  ft_sdf_requester( FT_Renderer  render,
+  ft_sdf_requester( FT_Module    module,
                     const char*  module_interface )
   {
-    FT_UNUSED( render );
+    FT_UNUSED( module );
 
     return ft_service_list_lookup( sdf_services, module_interface );
   }
@@ -221,9 +221,9 @@
    */
 
   static FT_Error
-  ft_sdf_init( FT_Renderer  render )
+  ft_sdf_init( FT_Module  module )   /* SDF_Renderer */
   {
-    SDF_Renderer  sdf_render = SDF_RENDERER( render );
+    SDF_Renderer  sdf_render = SDF_RENDERER( module );
 
 
     sdf_render->spread    = DEFAULT_SPREAD;
@@ -236,9 +236,9 @@
 
 
   static void
-  ft_sdf_done( FT_Renderer  render )
+  ft_sdf_done( FT_Module  module )
   {
-    FT_UNUSED( render );
+    FT_UNUSED( module );
   }
 
 
