Index: engines/agos/agos.h
===================================================================
--- engines/agos/agos.h	(revision 24051)
+++ engines/agos/agos.h	(working copy)
@@ -1076,7 +1076,7 @@
 	void o3_b3NotZero();
 
 	// Opcodes, Puzzle Pack only
-	void o4_opcode30();
+	void o4_iconifyWindow();
 	void o4_restoreOopsPosition();
 	void o4_checkTiles();
 	void o4_loadMouseImage();
Index: engines/agos/items.cpp
===================================================================
--- engines/agos/items.cpp	(revision 24051)
+++ engines/agos/items.cpp	(working copy)
@@ -434,7 +434,7 @@
 	setupAGOSOpcodes(op);
 
 	op[23] = &AGOSEngine::o3_chance;
-	op[30] = &AGOSEngine::o4_opcode30;
+	op[30] = &AGOSEngine::o4_iconifyWindow;
 	op[32] = &AGOSEngine::o4_restoreOopsPosition;
 	op[37] = &AGOSEngine::o4_checkTiles;
 	op[38] = &AGOSEngine::o4_loadMouseImage;
@@ -2449,9 +2449,13 @@
 // Puzzle Pack Opcodes
 // -----------------------------------------------------------------------
 
-void AGOSEngine::o4_opcode30() {
+void AGOSEngine::o4_iconifyWindow() {
 	// 30
 	getNextItemPtr();
+	if (_clockStopped != 0)
+		_gameTime += time(NULL) - _clockStopped;
+	_clockStopped  = 0;
+	_system->setFeatureState(OSystem::kFeatureIconifyWindow, true);
 }
 
 void AGOSEngine::o4_restoreOopsPosition() {
Index: common/system.h
===================================================================
--- common/system.h	(revision 24051)
+++ common/system.h	(working copy)
@@ -128,7 +128,12 @@
 		 * This should only be set if it offers at least 3-4 bits of accuracy,
 		 * as opposed to a single alpha bit.
 		 */
-		kFeatureOverlaySupportsAlpha
+		kFeatureOverlaySupportsAlpha,
+
+		/**
+		 * Set to true to iconify the window.
+		 */
+		kFeatureIconifyWindow
 	};
 
 	/**
Index: common/system.cpp
===================================================================
--- common/system.cpp	(revision 24051)
+++ common/system.cpp	(working copy)
@@ -83,4 +83,3 @@
 
 void OSystem::updateCD() {
 }
-
Index: backends/platform/sdl/sdl.cpp
===================================================================
--- backends/platform/sdl/sdl.cpp	(revision 24051)
+++ backends/platform/sdl/sdl.cpp	(working copy)
@@ -227,7 +227,8 @@
 		(f == kFeatureFullscreenMode) ||
 		(f == kFeatureAspectRatioCorrection) ||
 		(f == kFeatureAutoComputeDirtyRects) ||
-		(f == kFeatureCursorHasPalette);
+		(f == kFeatureCursorHasPalette) ||
+		(f == kFeatureIconifyWindow);
 }
 
 void OSystem_SDL::setFeatureState(Feature f, bool enable) {
@@ -244,6 +245,10 @@
 		else
 			_modeFlags &= ~DF_WANT_RECT_OPTIM;
 		break;
+	case kFeatureIconifyWindow:
+		if (enable)
+			SDL_WM_IconifyWindow();
+		break;
 	default:
 		break;
 	}
