diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index ed88015e23646e2f60db504286e0ff6c8203f206..1eedc5350d7b5136240dbe7e51caa0741f6741cc 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -1959,6 +1959,9 @@ static void normaliseRtsOpts (void)
     if (RtsFlags.GcFlags.maxHeapSize != 0 &&
         RtsFlags.GcFlags.heapSizeSuggestion >
         RtsFlags.GcFlags.maxHeapSize) {
+        errorBelch("Maximum heap size (-M) is smaller than suggested heap size (-H)\n"
+                   "Setting maximum heap size to suggested heap size ( %" FMT_Word64 " )",
+                   (StgWord64) RtsFlags.GcFlags.maxHeapSize * (StgWord64) BLOCK_SIZE);
         RtsFlags.GcFlags.maxHeapSize = RtsFlags.GcFlags.heapSizeSuggestion;
     }