diff --git a/CHANGELOG.md b/CHANGELOG.md
index d490e8d8f9..fa6a5a95c7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,15 @@
-## 0.17.0 / 2016-01-27
+## 0.17.0 / unreleased
 
-This version no longer works with Alertmanager 0.4.0 and earlier!
+This version no longer works with Alertmanager 0.0.4 and earlier!
 The alerting rule syntax has changed as well but the old syntax is supported
 up until version 0.18.
 
+All regular expressions in PromQL are anchored now, matching the behavior of
+regular expressions in config files. Expressions in rules, alerts or dashboards
+need to be changed if they don't match the full value so far (for example
+`http_requests_total{status=~"^5"}` won't match anything anymore and needs to
+be changed to `http_requests_total{status=~"5.."}`).
+
 * [CHANGE] Integrate with Alertmanager 0.1.0 and higher
 * [CHANGE] Degraded storage mode renamed to rushed mode
 * [CHANGE] New alerting rule syntax
diff --git a/storage/local/storage.go b/storage/local/storage.go
index 39df437af5..bb1c4eda9e 100644
--- a/storage/local/storage.go
+++ b/storage/local/storage.go
@@ -971,6 +971,13 @@ loop:
 			} else {
 				dirtySeriesCount = 0
 			}
+			// If a checkpoint takes longer than checkpointInterval, unluckily timed
+			// combination with the Reset(0) call below can lead to a case where a
+			// time is lurking in C leading to repeated checkpointing without break.
+			select {
+			case <-checkpointTimer.C: // Get rid of the lurking time.
+			default:
+			}
 			checkpointTimer.Reset(s.checkpointInterval)
 		case fp := <-memoryFingerprints:
 			if s.maintainMemorySeries(fp, model.Now().Add(-s.dropAfter)) {