diff --git a/src/builtin.cmod b/src/builtin.cmod
index f4ade9ac3bd690ca2a40eff291ec264b6cb9e3ce..6876903f930536eb6b9f8356ac386a6fa4a23829 100644
--- a/src/builtin.cmod
+++ b/src/builtin.cmod
@@ -431,7 +431,7 @@ static void fix_tm(const char*fname, int args, struct TM_struct*this)
         }
     }
 
-    PIKEFUN void _sprintf( int flag, mapping options )
+    PIKEFUN string _sprintf( int flag, mapping options )
     {
         int post_sum = 0;
         switch( flag )