diff --git a/include/object/xdrstream.h b/include/object/xdrstream.h
index 432f952738f10c05400536600a7b02297548bae3..2e46cad3992771664504c6b148ec0f60f7441c7d 100644
--- a/include/object/xdrstream.h
+++ b/include/object/xdrstream.h
@@ -30,7 +30,7 @@ class XDRStream {
 	XDRStream & operator<<(unsigned long long number);
 	XDRStream & operator<<(long long number);
 	XDRStream & operator<<(char const *text);
-	template<int N> XDRStream & operator<<(char const (&text)[N]);
+	template<int TSize> XDRStream & operator<<(char const (&text)[TSize]);
 	XDRStream & operator<<(XDRStream & (*fun) (XDRStream &));
 };
 
@@ -41,7 +41,7 @@ XDRStream & flush(XDRStream & os);
 // TERM: zero-termination
 XDRStream & term(XDRStream & os);
 
-template<int N>
+template<int TSize>
 XDRStream & opaque(XDRStream & os);
 
 XDRStream & fixed(XDRStream & os);
diff --git a/src/os/object/xdrstream.cc b/src/os/object/xdrstream.cc
index d7a5ace8ae36a2bec60583029dba0a07b1d73ce9..92de9862ee0f32648ee4e07d173540d207474b0f 100644
--- a/src/os/object/xdrstream.cc
+++ b/src/os/object/xdrstream.cc
@@ -82,13 +82,13 @@ XDRStream & XDRStream::operator<<(char const *data){
 	return *this;
 }
 
-template<int N>
-XDRStream & XDRStream::operator<<(char const (&data)[N]){
+template<int TSize>
+XDRStream & XDRStream::operator<<(char const (&data)[TSize]){
 	if (!is_fixed_length) {
-		*this << N;
+		*this << TSize;
 	}
 	uint32_t i;
-	for (i = 0; i < N; i++) {
+	for (i = 0; i < TSize; i++) {
 		put(data[i]);
 	}
 	while ((i++) % 4 != 0){