diff --git a/.config/i3/config b/.config/i3/config
index 6683a2d1..ff6d58ce 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -7,19 +7,9 @@
 ## Startup tasks
 ###################
 
-# High-priority shit
-exec --no-startup-id pulseaudio
-exec --no-startup-id mate-settings-daemon
-exec --no-startup-id compton
-exec --no-startup-id nitrogen --restore
+# These two tasks remain i3's responsibility as executing them here ensures
+# that the WM is up and running before they start
 exec --no-startup-id ~/.config/polybar/launch.sh
-exec --no-startup-id redshift
-# Start up whenever shit
-exec --no-startup-id dunst
-exec --no-startup-id /usr/lib/x86_64-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1
-exec --no-startup-id /usr/lib/polkit-mate/polkit-mate-authentication-agent-1
-exec --no-startup-id mate-power-manager
-# XDG
 exec --no-startup-id "dex -a"
 
 ###################
diff --git a/.xinitrc b/.xinitrc
index f219c05e..7ccf93f1 100755
--- a/.xinitrc
+++ b/.xinitrc
@@ -1,7 +1,29 @@
 #!/bin/sh
+
+# Source in xsessionrc
 if [ -z "$XSESSION_HAS_SOURCED" ]; then
 	source ~/.xsessionrc
 fi
 
 unset XDG_CURRENT_DESKTOP
+unset XSESSION_HAS_SOURCED
+
+# Basic setup
+xset -b -dpms
+
+# High-priority shit
+pulseaudio &
+mate-settings-daemon &
+compton &
+nitrogen --restore &
+~/.config/polybar/launch.sh &
+redshift &
+
+# Start up whenever shit
+dunst &
+/usr/lib/x86_64-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1 &
+/usr/lib/polkit-mate/polkit-mate-authentication-agent-1 &
+mate-power-manager &
+
+# Off to the races
 exec i3