diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c
index fb9963a..f109bf3 100644
--- a/helgrind/hg_intercepts.c
+++ b/helgrind/hg_intercepts.c
@@ -136,7 +136,7 @@
 
 #define DO_PthAPIerror(_fnnameF, _errF)                  \
    do {                                                  \
-      char* _fnname = (char*)(_fnnameF);                 \
+      const char* _fnname = (_fnnameF);                  \
       long  _err    = (long)(int)(_errF);                \
       const char* _errstr = lame_strerror(_err);         \
       DO_CREQ_v_WWW(_VG_USERREQ__HG_PTH_API_ERROR,       \
diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c
index addf1fa..11d72b9 100644
--- a/shared/vg_replace_strmem.c
+++ b/shared/vg_replace_strmem.c
@@ -1327,8 +1327,6 @@
    void* VG_REPLACE_FUNCTION_EZU(20290,soname,fnname) \
             ( void *dst, const void *src, SizeT len ) \
    { \
-      register HChar *d; \
-      register HChar *s; \
       SizeT len_saved = len; \
       \
       if (len == 0) \
@@ -1338,14 +1336,14 @@
          RECORD_OVERLAP_ERROR("mempcpy", dst, src, len); \
       \
       if ( dst > src ) { \
-         d = (char *)dst + len - 1; \
-         s = (char *)src + len - 1; \
+         register HChar *d = (char *)dst + len - 1; \
+         register const HChar *s = (const char *)src + len - 1; \
          while ( len-- ) { \
             *d-- = *s--; \
          } \
       } else if ( dst < src ) { \
-         d = (char *)dst; \
-         s = (char *)src; \
+         register HChar *d = dst; \
+         register const HChar *s = src; \
          while ( len-- ) { \
             *d++ = *s++; \
          } \
