diff --git a/src/interfaces/odbc/multibyte.c b/src/interfaces/odbc/multibyte.c
index b19af2764c0a97ac76115d6be245d557e70c042c..d10c57544553adc0d9e673d111f7505a7c88a2a9 100644
--- a/src/interfaces/odbc/multibyte.c
+++ b/src/interfaces/odbc/multibyte.c
@@ -15,7 +15,7 @@ int			multibyte_status;	/* Multibyte Odds and ends character. */
 
 
 unsigned char *
-multibyte_strchr(unsigned char *s, unsigned char c)
+multibyte_strchr(const unsigned char *s, unsigned char c)
 {
 	int			mb_st = 0,
 				i = 0;
@@ -56,7 +56,7 @@ multibyte_strchr(unsigned char *s, unsigned char c)
 #ifdef _DEBUG
 	qlog("i = %d\n", i);
 #endif
-	return (s + i);
+	return (char *) (s + i);
 }
 
 
diff --git a/src/interfaces/odbc/multibyte.h b/src/interfaces/odbc/multibyte.h
index 43870458e0d7686b4bce04c7f641019a6cc79863..c171c68fbd3f54867f9d0bf13a8c81b0de5c3a05 100644
--- a/src/interfaces/odbc/multibyte.h
+++ b/src/interfaces/odbc/multibyte.h
@@ -36,4 +36,4 @@ extern int	multibyte_status;	/* Multibyte charcter status. */
 void		multibyte_init(void);
 unsigned char *check_client_encoding(unsigned char *str);
 int			multibyte_char_check(unsigned char s);
-unsigned char *multibyte_strchr(unsigned char *s, unsigned char c);
+unsigned char *multibyte_strchr(const unsigned char *s, unsigned char c);