diff --git a/src/utility.h b/src/utility.h
index 98fa83e8928e5a116d265b89666dfa3432fd5ec5..ed368b208d2237c53e5946cf76aac94a2f1fa5ec 100644
--- a/src/utility.h
+++ b/src/utility.h
@@ -225,7 +225,7 @@ inline u16 readU16(std::istream &is)
 inline void writeU32(std::ostream &os, u32 p)
 {
 	char buf[4];
-	writeU16((u8*)buf, p);
+	writeU32((u8*)buf, p);
 	os.write(buf, 4);
 }
 inline u32 readU32(std::istream &is)
@@ -367,7 +367,7 @@ class Buffer
 		else
 			data = NULL;
 	}
-	Buffer(T *t, unsigned int size)
+	Buffer(const T *t, unsigned int size)
 	{
 		m_size = size;
 		if(size != 0)