Index: gui/message.h
===================================================================
--- gui/message.h	(revision 26912)
+++ gui/message.h	(working copy)
@@ -48,12 +48,15 @@
  */
 class TimedMessageDialog : public MessageDialog {
 public:
-	TimedMessageDialog(const Common::String &message, uint32 duration);
+	TimedMessageDialog(const Common::String &message, uint32 duration, bool interruptable = false);
 
 	void handleTickle();
+	void handleMouseDown(int x, int y, int button, int clickCount) { if (_interruptable) close(); }
+	void handleKeyDown(uint16 ascii, int keycode, int modifiers) { if (_interruptable) close(); }
 
 protected:
 	uint32 _timer;
+	bool _interruptable;
 };
 
 } // End of namespace GUI
Index: gui/message.cpp
===================================================================
--- gui/message.cpp	(revision 26912)
+++ gui/message.cpp	(working copy)
@@ -112,9 +112,10 @@
 	}
 }
 
-TimedMessageDialog::TimedMessageDialog(const Common::String &message, uint32 duration)
+TimedMessageDialog::TimedMessageDialog(const Common::String &message, uint32 duration, bool interruptable)
 	: MessageDialog(message, 0, 0) {
 	_timer = getMillis() + duration;
+	_interruptable = interruptable;
 }
 
 void TimedMessageDialog::handleTickle() {
Index: engines/scumm/input.cpp
===================================================================
--- engines/scumm/input.cpp	(revision 26912)
+++ engines/scumm/input.cpp	(working copy)
@@ -431,7 +431,7 @@
 		if (VAR_VOICE_MODE != 0xFF)
 			VAR(VAR_VOICE_MODE) = _voiceMode;
 
-		GUI::TimedMessageDialog dialog(buf, 1500);
+		GUI::TimedMessageDialog dialog(buf, 1500, true);
 		runDialog(dialog);
 		return;
 	}
