diff --git a/Sources/epoch_server/compile/epoch_player/EPOCH_server_SetUnitLoadout.sqf b/Sources/epoch_server/compile/epoch_player/EPOCH_server_SetUnitLoadout.sqf
index 6c281c01..5811ee87 100644
--- a/Sources/epoch_server/compile/epoch_player/EPOCH_server_SetUnitLoadout.sqf
+++ b/Sources/epoch_server/compile/epoch_player/EPOCH_server_SetUnitLoadout.sqf
@@ -13,7 +13,7 @@
 	https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_SetUnitLoadout.sqf
 */
 //[[[cog import generate_private_arrays ]]]
-private ["_type"];
+private ["_type","_loadabs"];
 //[[[end]]]
 
 params ["_newPlyr","_loadout"];
@@ -83,6 +83,11 @@ if !(_bpack isequalto "") then {
 	[Vestcontainer _newPlyr, _vestitems],
 	[BackpackContainer _newPlyr, _bpackitems]
 ];
-				
 
-true
+_loadabs = loadabs _newPlyr;
+if !(uniform _newPlyr isequalto _uniform && vest _newPlyr isequalto _vest && backpack _newPlyr isequalto _bpack) then {
+	diag_log format ["EPOCH Debug: Setunitloadout failed - Unifmorm should: %1 is: %2 - Vest should: %3 is: %4 - Backpack should: %5 is: %6",_uniform,uniform _newPlyr,_vest,vest _newPlyr,_bpack,backpack _newPlyr];
+	_loadabs = -1;
+};
+
+_loadabs
diff --git a/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf b/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf
index fa784c7f..4017fbe1 100644
--- a/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf
+++ b/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf
@@ -206,8 +206,10 @@ if (!isNull _player) then {
 //				_newPlyr setUnitLoadout [_loadout, false];
 
 			// Workaround for Client / Server synchronizing issue in SetUnitLoadout
-			[_newPlyr,_loadout] call Epoch_server_SetUnitLoadout;
-			_loadabs = loadabs _newPlyr;
+			_loadabs = [_newPlyr,_loadout] call Epoch_server_SetUnitLoadout;
+			if (_loadabs isequalto -1) then {
+				deleteVehicle _newPlyr;
+			}; 
 
 			// Final Push
 			if (isNull _player) then {
diff --git a/Sources/epoch_server/compile/epoch_player/EPOCH_server_revivePlayer.sqf b/Sources/epoch_server/compile/epoch_player/EPOCH_server_revivePlayer.sqf
index 34536dd4..54bf15ca 100644
--- a/Sources/epoch_server/compile/epoch_player/EPOCH_server_revivePlayer.sqf
+++ b/Sources/epoch_server/compile/epoch_player/EPOCH_server_revivePlayer.sqf
@@ -13,7 +13,7 @@
     https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_revivePlayer.sqf
 */
 //[[[cog import generate_private_arrays ]]]
-private ["_loadout","_CorpseCrypto","_PlayerCrypto","_attachments","_cIndex","_class","_currwh","_deleteprimary","_deletesecondary","_dir","_droppedPrimary","_droppedSecondary","_droppedWeapons","_equipped","_group","_garbage","_location","_newPlyr","_playerGroup","_playerUID","_token","_type","_vars","_wMags","_wMagsArray","_weapon","_wh","_kIndex","_reviver","_reviverCStats","_reviverKarma","_reviverKarmaAdj"];
+private ["_loadabs","_loadout","_CorpseCrypto","_PlayerCrypto","_attachments","_cIndex","_class","_currwh","_deleteprimary","_deletesecondary","_dir","_droppedPrimary","_droppedSecondary","_droppedWeapons","_equipped","_group","_garbage","_location","_newPlyr","_playerGroup","_playerUID","_token","_type","_vars","_wMags","_wMagsArray","_weapon","_wh","_kIndex","_reviver","_reviverCStats","_reviverKarma","_reviverKarmaAdj"];
 //[[[end]]]
 params ["_player","_reviver",["_token","",[""]] ];
 
@@ -98,10 +98,7 @@ if (!local _player) then {
 					_group = createGroup [west, true];
 					diag_log format["DEBUG Group Created: %1", _group];
 				};
-				
-				_garbage = createVehicle [selectrandom ["MedicalGarbage_01_1x1_v1_F","MedicalGarbage_01_1x1_v3_F","MedicalGarbage_01_1x1_v2_F"], _location, [], 0, "CAN_COLLIDE"];
-				EPOCH_cleanupQueue pushBack _garbage;
-				
+
 				_newPlyr = _group createUnit[_class, _location, [], 0, "CAN_COLLIDE"];
 
 				// new Dynamicsimulation
@@ -136,7 +133,16 @@ if (!local _player) then {
 //				_newPlyr setUnitLoadout [_loadout, false];
 
 				// Workaround for Client / Server synchronizing issue in SetUnitLoadout
-				[_newPlyr,_loadout] call Epoch_server_SetUnitLoadout;
+				_loadabs = [_newPlyr,_loadout] call Epoch_server_SetUnitLoadout;
+				if (_loadabs isequalto -1) exitwith {
+					removeFromRemainsCollector [_newPlyr];
+					deletevehicle _newPlyr;
+					_player setvariable ['Reviving',false];
+					_player hideObjectGlobal false;
+				};
+
+				_garbage = createVehicle [selectrandom ["MedicalGarbage_01_1x1_v1_F","MedicalGarbage_01_1x1_v3_F","MedicalGarbage_01_1x1_v2_F"], _location, [], 0, "CAN_COLLIDE"];
+				EPOCH_cleanupQueue pushBack _garbage;
 
 				// Final Push
 				_token = _newPlyr call EPOCH_server_setPToken;
@@ -152,7 +158,7 @@ if (!local _player) then {
 				};
 
 				// send to player
-				[_newPlyr, _token, loadAbs _newPlyr] remoteExec ['EPOCH_clientRevive',_player];
+				[_newPlyr, _token, _loadabs] remoteExec ['EPOCH_clientRevive',_player];
 
 				// send stat to reviver
 				[_reviver, "Revives", 1, true] call EPOCH_server_updatePlayerStats;