diff --git a/mmh3.go b/mmh3.go
index <HASH>..<HASH> 100644
--- a/mmh3.go
+++ b/mmh3.go
@@ -35,7 +35,7 @@ func Hash32 (key []byte) uint32 {
   case 1:
     k ^= uint32(key[tailIndex])
     k *= c1
-    k = (k << 13) | (k >> (32 - 15))
+    k = (k << 15) | (k >> (32 - 15))
     k *= c2
     h ^= k
   }
diff --git a/mmh3_test.go b/mmh3_test.go
index <HASH>..<HASH> 100644
--- a/mmh3_test.go
+++ b/mmh3_test.go
@@ -7,7 +7,7 @@ import (
 
 func TestAll(t *testing.T) {
   s := []byte("hello")
-  if Hash32(s) != 0xa7bf1ac7 {
+  if Hash32(s) != 0x248bfa47 {
     t.Fail()
   }
   if fmt.Sprintf("%x", Hash128(s)) != "029bbd41b3a7d8cb191dae486a901e5b" {
Fix typo on hash<I>, rotation