diff --git a/build_files/windows/apply_mblender_patches.cmd b/build_files/windows/apply_mblender_patches.cmd
new file mode 100644
index 00000000000..b9de3d1eb4f
--- /dev/null
+++ b/build_files/windows/apply_mblender_patches.cmd
@@ -0,0 +1,41 @@
+if "%GIT%" == "" (
+	echo Git not found, cannot apply patches.
+	goto ERR
+)
+
+if "%CURL%" == "" (
+	echo Curl not found, cannot download patches
+	goto ERR
+)
+
+set MB_0001=https://projects.blender.org/JaumeBellet/mblender/raw/branch/mb-0001-operator-repeat/diff/MB-0001-operator-repeat.diff
+set MB_0005=https://projects.blender.org/JaumeBellet/mblender/raw/branch/mb-0005-splash-changes/diff/MB-0005-splash-changes.diff
+set MB_0006=https://projects.blender.org/JaumeBellet/mblender/raw/branch/mb-0006-allow-no-modal-transform/diff/MB-0006-allow-no-modal-transform.diff
+set MB_0007=https://projects.blender.org/JaumeBellet/mblender/raw/branch/mb-0007-transform-flags/diff/MB-0007-transform-flags.diff
+
+echo Apply MB_0005
+"%CURL%" "%MB_0005%" --ssl-no-revoke | "%GIT%" apply 
+if errorlevel 1 goto ERR
+
+echo Apply MB_0007
+"%CURL%" "%MB_0007%" --ssl-no-revoke | "%GIT%" apply 
+if errorlevel 1 goto ERR
+
+rem Depends on MB_007
+echo Apply MB_0001
+"%CURL%" "%MB_0001%" --ssl-no-revoke | "%GIT%" apply 
+if errorlevel 1 goto ERR
+
+rem Depends on MB_007
+echo Apply MB_0006
+"%CURL%" "%MB_0006%" --ssl-no-revoke | "%GIT%" apply 
+if errorlevel 1 goto ERR
+
+echo Now build blender as usually.
+
+:EOF
+exit /b 0
+
+:ERR
+echo Something went wrong!
+exit /b 1
diff --git a/build_files/windows/find_dependencies.cmd b/build_files/windows/find_dependencies.cmd
index 1dfb4847e1b..8970946c371 100644
--- a/build_files/windows/find_dependencies.cmd
+++ b/build_files/windows/find_dependencies.cmd
@@ -3,6 +3,7 @@ for %%X in (svn.exe) do (set SVN=%%~$PATH:X)
 for %%X in (cmake.exe) do (set CMAKE=%%~$PATH:X)
 for %%X in (ctest.exe) do (set CTEST=%%~$PATH:X)
 for %%X in (git.exe) do (set GIT=%%~$PATH:X)
+for %%X in (curl.exe) do (set CURL=%%~$PATH:X)
 REM For python, default on 310 but if that does not exist also check
 REM the 311, 312 and finally 39 folders to see if those are there, it checks
 REM this far ahead to ensure good lib folder compatibility in the future
diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd
index a2ff4c1ff95..47f0f1c2c70 100644
--- a/build_files/windows/parse_arguments.cmd
+++ b/build_files/windows/parse_arguments.cmd
@@ -113,6 +113,9 @@ if NOT "%1" == "" (
 	) else if "%1" == "svnfix" (
 		set SVN_FIX=1
 		goto EOF
+	) else if "%1" == "mblender" (
+		set MBLENDER_PATCHES=1
+		goto EOF
 	) else (
 		echo Command "%1" unknown, aborting!
 		goto ERR
diff --git a/make.bat b/make.bat
index 85a8ba95e70..1cace12cd20 100644
--- a/make.bat
+++ b/make.bat
@@ -16,6 +16,11 @@ if errorlevel 1 goto EOF
 call "%BLENDER_DIR%\build_files\windows\find_dependencies.cmd"
 if errorlevel 1 goto EOF
 
+if "%MBLENDER_PATCHES%" == "1" (
+	call "%BLENDER_DIR%\build_files\windows\apply_mblender_patches.cmd"
+	goto EOF
+)
+
 REM if it is one of the convenience targets and BLENDER_BIN is set
 REM skip compiler detection
 if "%ICONS%%ICONS_GEOM%%DOC_PY%" == "1" (
