diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-25-20-44-42.bpo-28055.f49kfC.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-25-20-44-42.bpo-28055.f49kfC.rst
new file mode 100644
index 0000000..c7d8499
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2018-04-25-20-44-42.bpo-28055.f49kfC.rst
@@ -0,0 +1 @@
+Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.
diff --git a/Python/pyhash.c b/Python/pyhash.c
index 9e6e594..6fc12fd 100644
--- a/Python/pyhash.c
+++ b/Python/pyhash.c
@@ -366,7 +366,7 @@
 static uint64_t
 siphash24(uint64_t k0, uint64_t k1, const void *src, Py_ssize_t src_sz) {
     uint64_t b = (uint64_t)src_sz << 56;
-    const uint64_t *in = (uint64_t*)src;
+    const uint8_t *in = (uint8_t*)src;
 
     uint64_t v0 = k0 ^ 0x736f6d6570736575ULL;
     uint64_t v1 = k1 ^ 0x646f72616e646f6dULL;
@@ -375,12 +375,13 @@
 
     uint64_t t;
     uint8_t *pt;
-    uint8_t *m;
 
     while (src_sz >= 8) {
-        uint64_t mi = _le64toh(*in);
-        in += 1;
-        src_sz -= 8;
+        uint64_t mi;
+        memcpy(&mi, in, sizeof(mi));
+        mi = _le64toh(mi);
+        in += sizeof(mi);
+        src_sz -= sizeof(mi);
         v3 ^= mi;
         DOUBLE_ROUND(v0,v1,v2,v3);
         v0 ^= mi;
@@ -388,15 +389,14 @@
 
     t = 0;
     pt = (uint8_t *)&t;
-    m = (uint8_t *)in;
     switch (src_sz) {
-        case 7: pt[6] = m[6]; /* fall through */
-        case 6: pt[5] = m[5]; /* fall through */
-        case 5: pt[4] = m[4]; /* fall through */
-        case 4: memcpy(pt, m, sizeof(uint32_t)); break;
-        case 3: pt[2] = m[2]; /* fall through */
-        case 2: pt[1] = m[1]; /* fall through */
-        case 1: pt[0] = m[0]; /* fall through */
+        case 7: pt[6] = in[6]; /* fall through */
+        case 6: pt[5] = in[5]; /* fall through */
+        case 5: pt[4] = in[4]; /* fall through */
+        case 4: memcpy(pt, in, sizeof(uint32_t)); break;
+        case 3: pt[2] = in[2]; /* fall through */
+        case 2: pt[1] = in[1]; /* fall through */
+        case 1: pt[0] = in[0]; /* fall through */
     }
     b |= _le64toh(t);
 
