diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index a2e258658b8..5cfcc57dc5d 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -597,6 +597,7 @@ namespace Fullpipe {
 #define MSG_SC14_SHOWBALLMAN 1254
 #define MSG_SC14_STARTARCADE 3252
 #define MV_BAL14_SPIN 1247
+#define MV_BAL14_TOGMA 3214
 #define MV_MAN14_KICK 1237
 #define MV_MAN14_STEPFW 1240
 #define PIC_SC14_RTRUBA 1221
diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp
index 96d66e86760..96abf3538da 100644
--- a/engines/fullpipe/scenes/scene14.cpp
+++ b/engines/fullpipe/scenes/scene14.cpp
@@ -137,7 +137,27 @@ void sceneHandler14_showBallGrandmaDive() {
 }
 
 void sceneHandler14_showBallGrandmaHit() {
-	warning("STUB: sceneHandler14_showBallGrandmaHit()");
+	if (g_vars->scene14_var10) {
+		g_vars->scene14_var10->show1(g_vars->scene14_var16 + 190, g_vars->scene14_var17 + 56, MV_BAL14_TOGMA, 0);
+		g_vars->scene14_var10->_priority = 27;
+
+		MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
+		ExCommand *ex = new ExCommand(ANI_BALL14, 1, MV_BAL14_TOGMA, 0, 0, 0, 1, 0, 0, 0);
+
+		ex->_keyCode = g_vars->scene14_var10->_okeyCode;
+		ex->_excFlags |= 2;
+		ex->_field_24 = 1;
+		mq->addExCommandToEnd(ex);
+
+		ex = new ExCommand(ANI_BALL14, 6, 0, 0, 0, 0, 1, 0, 0, 0);
+		ex->_keyCode = g_vars->scene14_var10->_okeyCode;
+		ex->_excFlags |= 3;
+		mq->addExCommandToEnd(ex);
+		mq->chain(0);
+
+		g_vars->scene14_var11.push_back(g_vars->scene14_var10);
+		g_vars->scene14_var10 = 0;
+	}
 }
 
 void sceneHandler14_showBallMan() {