diff --git a/core/src/core/hash.rs b/core/src/core/hash.rs
index d5d0a3188..410ddbf76 100644
--- a/core/src/core/hash.rs
+++ b/core/src/core/hash.rs
@@ -110,11 +110,11 @@ impl<W: ser::Writeable> Hashed for W {
 	}
 }
 
-impl Hashed for [u8] {
+// Convenience for when we need to hash of an empty array.
+impl Hashed for [u8; 0] {
 	fn hash(&self) -> Hash {
-		let mut hasher = HashWriter::default();
+		let hasher = HashWriter::default();
 		let mut ret = [0; 32];
-		ser::Writer::write_fixed_bytes(&mut hasher, &self).unwrap();
 		hasher.finalize(&mut ret);
 		Hash(ret)
 	}
diff --git a/core/src/core/mod.rs b/core/src/core/mod.rs
index 05d843fd1..b1f0fcccc 100644
--- a/core/src/core/mod.rs
+++ b/core/src/core/mod.rs
@@ -194,7 +194,7 @@ impl MerkleRow {
 	}
 	fn root(&self) -> Hash {
 		if self.0.len() == 0 {
-			vec![].hash()
+			[].hash()
 		} else if self.0.len() == 1 {
 			self.0[0].hash()
 		} else {