diff --git a/bootstrap-haskell b/bootstrap-haskell
index 2d51d9af80dbf2476f4e1ef363bfdb8b1bdda147..744f39a29e84b36ad4833a3b134d9fd3fd72f45c 100755
--- a/bootstrap-haskell
+++ b/bootstrap-haskell
@@ -372,6 +372,13 @@ adjust_bashrc() {
 								echo "[[ -f ~/.bashrc ]] && source ~/.bashrc # ghcup-env" >> "${HOME}/.bash_profile"
 							fi
 							;;
+						MSYS*|MINGW*)
+							if [ ! -e "${HOME}/.bash_profile" ] ; then
+								echo '# generated by ghcup' > "${HOME}/.bash_profile"
+								echo 'test -f ~/.profile && . ~/.profile' >> "${HOME}/.bash_profile"
+								echo 'test -f ~/.bashrc && . ~/.bashrc' >> "${HOME}/.bash_profile"
+							fi
+							;;
 					esac
 					break ;;
 
diff --git a/bootstrap-haskell.ps1 b/bootstrap-haskell.ps1
index 31a908ea533e4ed4cbdcc2d03c193d4d2b8c50ea..6c9d6c3396dffe5ccc96584d75fb800b065e585b 100644
--- a/bootstrap-haskell.ps1
+++ b/bootstrap-haskell.ps1
@@ -414,8 +414,6 @@ if (!(Test-Path -Path ('{0}' -f $MsysDir))) {
     Print-Msg -msg 'Setting default home directory...'
     Exec "$Bash" '-lc' "sed -i -e 's/db_home:.*$/db_home: windows/' /etc/nsswitch.conf"
 
-    Print-Msg -msg "Creating ~/.bash_profile if it doesn't exist..."
-    Exec "$Bash" '-lc' "[ -e ~/.bash_profile ] || echo -e '# generated by ghcup\ntest -f ~/.profile && . ~/.profile\ntest -f ~/.bashrc && . ~/.bashrc' > ~/.bash_profile"
   } elseif ($msys2Decision -eq 1) {
     Print-Msg -color Yellow -msg 'Skipping MSys2 installation.'
     while ($true) {