Index: dosbox-0.74/src/gui/sdl_mapper.cpp
===================================================================
--- dosbox-0.74.orig/src/gui/sdl_mapper.cpp	2010-10-18 21:15:51.000000000 +0200
+++ dosbox-0.74/src/gui/sdl_mapper.cpp	2010-10-18 21:33:28.000000000 +0200
@@ -2310,8 +2310,12 @@
 }
 
 void MAPPER_RunInternal() {
+#if MAEMO
+	SDL_ShowCursor(SDL_DISABLE);
+#else
 	int cursor = SDL_ShowCursor(SDL_QUERY);
 	SDL_ShowCursor(SDL_ENABLE);
+#endif
 	bool mousetoggle=false;
 	if(mouselocked) {
 		mousetoggle=true;
@@ -2348,7 +2352,9 @@
 	SDL_JoystickEventState(SDL_DISABLE);
 #endif
 	if(mousetoggle) GFX_CaptureMouse();
+#ifndef MAEMO
 	SDL_ShowCursor(cursor);
+#endif
 	GFX_ResetScreen();
 }
 
Index: dosbox-0.74/src/gui/sdlmain.cpp
===================================================================
--- dosbox-0.74.orig/src/gui/sdlmain.cpp	2010-10-18 21:31:26.000000000 +0200
+++ dosbox-0.74/src/gui/sdlmain.cpp	2010-10-18 21:32:16.000000000 +0200
@@ -680,7 +680,11 @@
 	}//CASE
 	if (retFlags)
 		GFX_Start();
+#ifdef MAEMO
+	SDL_ShowCursor(SDL_DISABLE);
+#else
 	if (!sdl.mouse.autoenable) SDL_ShowCursor(sdl.mouse.autolock?SDL_DISABLE:SDL_ENABLE);
+#endif
 	return retFlags;
 }
 
@@ -691,7 +695,9 @@
 		SDL_ShowCursor(SDL_DISABLE);
 	} else {
 		SDL_WM_GrabInput(SDL_GRAB_OFF);
+#ifndef MAEMO
 		if (sdl.mouse.autoenable || !sdl.mouse.autolock) SDL_ShowCursor(SDL_ENABLE);
+#endif
 	}
         mouselocked=sdl.mouse.locked;
 }
@@ -1111,7 +1117,11 @@
 #endif
 	}
 	sdl.mouse.autoenable=section->Get_bool("autolock");
+#ifdef MAEMO
+	SDL_ShowCursor(SDL_DISABLE);
+#else
 	if (!sdl.mouse.autoenable) SDL_ShowCursor(SDL_DISABLE);
+#endif
 	sdl.mouse.autolock=false;
 	sdl.mouse.sensitivity=section->Get_int("sensitivity");
 	std::string output=section->Get_string("output");
@@ -1274,7 +1284,9 @@
 	sdl.mouse.autolock=enable;
 	if (sdl.mouse.autoenable) sdl.mouse.requestlock=enable;
 	else {
+#ifndef MAEMO
 		SDL_ShowCursor(enable?SDL_DISABLE:SDL_ENABLE);
+#endif
 		sdl.mouse.requestlock=false;
 	}
 }
