diff --git a/target/linux/generic/patches-4.4/930-crashlog.patch b/target/linux/generic/patches-4.4/930-crashlog.patch
index bb97c90196d8b81c2d4fb3acab836a967da5d964..fdc80d750aa5a1491a2eb9121c64374004536ff0 100644
--- a/target/linux/generic/patches-4.4/930-crashlog.patch
+++ b/target/linux/generic/patches-4.4/930-crashlog.patch
@@ -43,7 +43,7 @@
  
 --- /dev/null
 +++ b/kernel/crashlog.c
-@@ -0,0 +1,209 @@
+@@ -0,0 +1,213 @@
 +/*
 + * Crash information logger
 + * Copyright (C) 2010 Felix Fietkau <nbd@nbd.name>
@@ -117,7 +117,11 @@
 +	if (addr + size > limit)
 +		size = limit - addr;
 +
-+	crashlog_addr = addr + size - CRASHLOG_OFFSET;
++	crashlog_addr = addr;
++
++	if (addr + size > CRASHLOG_OFFSET)
++		crashlog_addr += size - CRASHLOG_OFFSET;
++
 +	return true;
 +}
 +