@@ -71,6 +71,7 @@ function OverrideActionBar_OnLoad(self)
 	self["PitchDownHighlight"] = self.PitchDownButton:GetHighlightTexture();
 	self:RegisterEvent("VEHICLE_ANGLE_UPDATE");
 	self:RegisterEvent("UNIT_ENTERED_VEHICLE");
+	self:RegisterEvent("UNIT_ENTERING_VEHICLE");
 end
 
 
@@ -84,9 +85,17 @@ function OverrideActionBar_OnEvent(self,
 		OverrideActionBar_UpdateXpBar();
 	elseif ( event == "UNIT_ENTERED_VEHICLE" ) then
 		OverrideActionBar_CalcSize();
+	elseif ( event == "UNIT_ENTERING_VEHICLE" ) then
+		self.HasExit, self.HasPitch = select(8, ...);
 	end
 end
 
+function OverrideActionBar_OnShow(self)
+	local anchorX, anchorY = OverrideActionBar_GetMicroButtonAnchor();
+	UpdateMicroButtonsParent(OverrideActionBar);
+	MoveMicroButtons("BOTTOMLEFT", OverrideActionBar, "BOTTOMLEFT", anchorX, anchorY, true);
+end
+
 function OverrideActionBar_SetSkin(skin)
 	local textureFile = skin;
 	for _,tex in pairs(textureList) do
@@ -100,18 +109,16 @@ end
 
 function OverrideActionBar_CalcSize()
 	local width, xpWidth, anchor, buttonAnchor;
-	local hasPitch = IsVehicleAimAngleAdjustable();
-	local hasExit =  CanExitVehicle();
 	OverrideActionBar.pitchFrame:Hide();
 	OverrideActionBar.leaveFrame:Hide();
-	if hasExit and hasPitch then
+	if OverrideActionBar.HasExit and OverrideActionBar.HasPitch then
 		width, xpWidth, anchor, buttonAnchor = 1020, 580, 103, -234;
 		OverrideActionBar.pitchFrame:Show();
 		OverrideActionBar.leaveFrame:Show();
-	elseif hasPitch then
+	elseif OverrideActionBar.HasPitch then
 		width, xpWidth, anchor, buttonAnchor = 945, 500, 145, -192;
 		OverrideActionBar.pitchFrame:Show();
-	elseif hasExit then
+	elseif OverrideActionBar.HasExit then
 		width, xpWidth, anchor, buttonAnchor = 930, 490, 60, -277;
 		OverrideActionBar.leaveFrame:Show();
 	else
@@ -140,14 +147,13 @@ end
 
 
 function OverrideActionBar_GetMicroButtonAnchor()
-	local hasExit, hasPitch = OverrideActionBar.leaveFrame:IsShown(),  OverrideActionBar.pitchFrame:IsShown();
-	local x, y = 544 , 41;
-	if hasExit and hasPitch then
-		x = 628;
-	elseif hasPitch then
-		x = 632;
-	elseif hasExit then
-		x = 540;
+	local x, y = 542, 41;
+	if OverrideActionBar.HasExit and OverrideActionBar.HasPitch then
+		x = 625;
+	elseif OverrideActionBar.HasPitch then
+		x = 629;
+	elseif OverrideActionBar.HasExit then
+		x = 537;
 	end
 	return x,y
 end