diff --git a/src/p_user.c b/src/p_user.c
index dd2ddbc829477cfa628a912c14625bc7bc4bad4c..75712ff3a4f42ebe9db46a0572d9b96f9b7204ed 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -8848,7 +8848,18 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
 	if (P_CameraThinker(player, thiscam, resetcalled))
 		return true;
 
-	if (thiscam == &camera)
+	if (tutorialmode)
+	{
+		// force defaults because we have a camera look section
+		// \todo would be nice to use cv_cam_*.defaultvalue directly, but string parsing
+		// is not separated from cv setting (see command.c Setvalue, CV_SetCVar)
+		camspeed = 0.3;
+		camstill = false;
+		camrotate = 0;
+		camdist = 160;
+		camheight = 25;
+	}
+	else if (thiscam == &camera)
 	{
 		camspeed = cv_cam_speed.value;
 		camstill = cv_cam_still.value;