diff --git a/helgrind/hg_errors.c b/helgrind/hg_errors.c
index 010f5e0..d7bc6ef 100644
--- a/helgrind/hg_errors.c
+++ b/helgrind/hg_errors.c
@@ -755,13 +755,6 @@
    emit_WRK(format, vargs);
    va_end(vargs);
 }
-static void emit_no_f_c ( HChar* format, ... )
-{
-   va_list vargs;
-   va_start(vargs, format);
-   emit_WRK(format, vargs);
-   va_end(vargs);
-}
 
 
 /* Announce (that is, print the point-of-creation) of 'thr'.  Only do
@@ -1052,8 +1045,8 @@
       if (xml) {
 
          emit( "  <xwhat>\n" );
-         emit_no_f_c(
-            "    <text>Thread #%d's call to %t failed</text>\n",
+         emit(
+            "    <text>Thread #%d's call to %pS failed</text>\n",
             (Int)xe->XE.PthAPIerror.thr->errmsg_index,
             xe->XE.PthAPIerror.fnname );
          emit( "    <hthreadid>%d</hthreadid>\n",
@@ -1065,7 +1058,7 @@
 
       } else {
 
-         emit_no_f_c( "Thread #%d's call to %t failed\n",
+         emit( "Thread #%d's call to %pS failed\n",
                       (Int)xe->XE.PthAPIerror.thr->errmsg_index,
                       xe->XE.PthAPIerror.fnname );
          emit( "   with error code %ld (%s)\n",
