just as it's not a flaw that a few blocks get solved in a short period.
Right, it's a normal and expected property of the exponential distribution (that distribution of interblock gaps) that there are a lot of small values; more than you'd probably expect after being told there was a 10 minute average. E.g. about 10% of blocks are 1minute or less apart (assuming lambda=1/600; in reality because of hashrate increases the expected time is often more like 8 minutes). Other constraints like the minimum value for the time coded in blocks also contribute to making the timestamps have less diversity than you might expect from a first guess.
In the case here, they're not even unusually closely timed the times on the four blocks in question are 12:24 13:02 13:12 13:11 (the prior one was 12:03). Note that the times aren't monotonic, which highlights a previously mentioned limitation in trying to reason about time; they're not all drawing from the same clock as there is no singular now in a decentralized system.
I personally observed these blocks at the following times:
2015-05-02 12:25:21 UpdateTip: new best=00000000000000000f8d7a12d307ddc717cab90d2ced5c7320624a13714b0aa3 height=354640 log2_work=82.71737 tx=67422028 date=2015-05-02 12:24:26 progress=0.999999 cache=14812
2015-05-02 13:01:37 UpdateTip: new best=00000000000000000a1ebf23947c2dc38f980c66c1fd1303235326e36ea5afae height=354641 log2_work=82.717407 tx=67424094 date=2015-05-02 13:02:15 progress=1.000001 cache=9138
2015-05-02 13:05:29 UpdateTip: new best=00000000000000000f181b8cfb70624cd74bcac01c930657bd1bde85ff59e7fd height=354642 log2_work=82.717444 tx=67424677 date=2015-05-02 13:12:17 progress=1.000007 cache=10305
2015-05-02 13:08:46 UpdateTip: new best=000000000000000015c33a22604bd9c01806c3add1b33d6b8dd1e663da95cbd1 height=354643 log2_work=82.717481 tx=67425354 date=2015-05-02 13:11:28 progress=1.000003 cache=11807
So gaps of 36:16, 3:52, 3:17. Given a ~10 minute expected time about a third of blocks are 3:17 apart or less.