diff --git a/src/action/action_resource.cpp b/src/action/action_resource.cpp
index 73b5d4203..bcc80f805 100644
--- a/src/action/action_resource.cpp
+++ b/src/action/action_resource.cpp
@@ -78,11 +78,7 @@ local int MoveToResource(Unit* unit,const Resource* resource)
 
     switch( DoActionMove(unit) ) {	// reached end-point?
 	case PF_UNREACHABLE:
-#ifdef NEW_ORDERS
-	    unit->Orders[0].Action=resource->Action;
-#else
-	    unit->Command.Action=resource->Action;
-#endif
+	    DebugCheck( unit->Orders[0].Action!=resource->Action );
 	    return -1;
 	case PF_REACHED:
 	    break;
@@ -90,7 +86,6 @@ local int MoveToResource(Unit* unit,const Resource* resource)
 	    return 0;
     }
 
-#ifdef NEW_ORDERS
     goal=unit->Orders[0].Goal;
 
     if( !goal ) {			// Move checks for killed units.
@@ -151,70 +146,6 @@ local int MoveToResource(Unit* unit,const Resource* resource)
     goal->Data.Resource.Active++;
     DebugLevel3Fn("+%d\n",goal->Data.Resource.Active);
 
-#else
-
-    goal=unit->Command.Data.Move.Goal;
-
-    if( !goal ) {			// Move checks for killed units.
-	// FIXME: perhaps we should choose an alternative
-	unit->SubAction=0;
-	unit->Command.Action=UnitActionStill;
-	return 0;
-    }
-
-    DebugCheck( !goal );
-    DebugCheck( unit->Wait!=1 );
-    DebugCheck( MapDistanceToUnit(unit->X,unit->Y,goal)!=1 );
-
-    //
-    //	Target is dead, stop getting resources.
-    //
-    if( goal->Destroyed ) {
-	DebugLevel0Fn("Destroyed unit\n");
-	RefsDebugCheck( !goal->Refs );
-	if( !--goal->Refs ) {
-	    ReleaseUnit(goal);
-	}
-	unit->Command.Data.Move.Goal=NoUnitP;
-	// FIXME: perhaps we should choose an alternative
-	unit->Command.Action=UnitActionStill;
-	unit->SubAction=0;
-	return 0;
-    } else if( goal->Removed || !goal->HP
-	    || goal->Command.Action==UnitActionDie ) {
-	RefsDebugCheck( !goal->Refs );
-	--goal->Refs;
-	RefsDebugCheck( !goal->Refs );
-	unit->Command.Data.Move.Goal=NoUnitP;
-	// FIXME: perhaps we should choose an alternative
-	unit->Command.Action=UnitActionStill;
-	unit->SubAction=0;
-	return 0;
-    }
-
-    unit->Command.Action=resource->Action;
-
-    //
-    //	If resource is still under construction, wait!
-    //
-    if( goal->Command.Action==UnitActionBuilded ) {
-        DebugLevel2Fn("Invalid resource\n");
-	return 0;
-    }
-
-    RefsDebugCheck( !goal->Refs );
-    --goal->Refs;
-    RefsDebugCheck( !goal->Refs );
-    unit->Command.Data.Move.Goal=NoUnitP;
-
-    //
-    //	Activate the resource
-    //
-    goal->Command.Data.Resource.Active++;
-    DebugLevel3Fn("+%d\n",goal->Command.Data.Resource.Active);
-
-#endif
-
     if( !goal->Frame ) {		// show resource working
 	goal->Frame=resource->Frame;
 	CheckUnitToBeDrawn(goal);
@@ -273,19 +204,11 @@ local int WaitInResource(Unit* unit,const Resource* resource)
 	//	Remove what we can carry, FIXME: always this?
 	//
 	source->Value-=DEFAULT_INCOMES[resource->Cost];
-#ifdef NEW_ORDERS
 	DebugLevel3Fn("-%d\n",source->Data.Resource.Active);
 	if( !--source->Data.Resource.Active ) {
 	    source->Frame=0;
 	    CheckUnitToBeDrawn(source);
 	}
-#else
-	DebugLevel3Fn("-%d\n",source->Command.Data.Resource.Active);
-	if( !--source->Command.Data.Resource.Active ) {
-	    source->Frame=0;
-	    CheckUnitToBeDrawn(source);
-	}
-#endif
 	if( IsSelected(source) ) {
 	    MustRedraw|=RedrawInfoPanel;
 	}
@@ -323,7 +246,6 @@ local int WaitInResource(Unit* unit,const Resource* resource)
 	    } else {
 		DropOutOnSide(unit,LookingW,1,1);
 	    }
-#ifdef NEW_ORDERS
 	    unit->Orders[0].Action=UnitActionStill;
 	    unit->SubAction=0;
 	    // should return 0, done below!
@@ -331,7 +253,6 @@ local int WaitInResource(Unit* unit,const Resource* resource)
 	    DropOutNearest(unit,depot->X+depot->Type->TileWidth/2
 		    ,depot->Y+depot->Type->TileHeight/2
 		    ,source->Type->TileWidth,source->Type->TileHeight);
-	    ResetPath(unit->Orders[0]);
 	    unit->Orders[0].Goal=depot;
 	    RefsDebugCheck( !depot->Refs );
 	    ++depot->Refs;
@@ -348,31 +269,6 @@ local int WaitInResource(Unit* unit,const Resource* resource)
 	}
 	unit->Wait=1;
 	return unit->Orders[0].Action==resource->Action;
-#else
-	    unit->Command.Action=UnitActionStill;
-	    unit->SubAction=0;
-	    // should return 0, done below!
-	} else {
-	    DropOutNearest(unit,depot->X+depot->Type->TileWidth/2
-		    ,depot->Y+depot->Type->TileHeight/2
-		    ,source->Type->TileWidth,source->Type->TileHeight);
-	    ResetPath(unit->Command);
-	    unit->Command.Data.Move.Goal=depot;
-	    RefsDebugCheck( !depot->Refs );
-	    ++depot->Refs;
-	    unit->Command.Data.Move.Range=1;
-	    unit->Command.Data.Move.DX=-1;
-	    unit->Command.Data.Move.DY=-1;
-	    unit->Command.Action=resource->Action;
-	}
-
-        CheckUnitToBeDrawn(unit);
-	if( IsSelected(unit) ) {
-	    UpdateButtonPanel();
-	}
-	unit->Wait=1;
-	return unit->Command.Action==resource->Action;
-#endif
     }
 
     //
@@ -401,11 +297,7 @@ local int MoveToDepot(Unit* unit,const Resource* resource)
 
     switch( DoActionMove(unit) ) {	// reached end-point?
 	case PF_UNREACHABLE:
-#ifdef NEW_ORDERS
-	    unit->Orders[0].Action=resource->Action;
-#else
-	    unit->Command.Action=resource->Action;
-#endif
+	    DebugCheck( unit->Orders[0].Action!=resource->Action );
 	    return -1;
 	case PF_REACHED:
 	    break;
@@ -413,7 +305,6 @@ local int MoveToDepot(Unit* unit,const Resource* resource)
 	    return 0;
     }
 
-#ifdef NEW_ORDERS
     goal=unit->Orders[0].Goal;
 
     if( !goal ) {			// Move checks for killed units.
@@ -460,64 +351,6 @@ local int MoveToDepot(Unit* unit,const Resource* resource)
     RefsDebugCheck( !goal->Refs );
     unit->Orders[0].Goal=NoUnitP;
 
-#else
-
-    goal=unit->Command.Data.Move.Goal;
-
-    if( !goal ) {			// Move checks for killed units.
-	// FIXME: perhaps we should choose an alternative
-	unit->SubAction=0;
-	unit->Command.Action=UnitActionStill;
-	return 0;
-    }
-
-    DebugCheck( !goal );
-    DebugCheck( unit->Wait!=1 );
-    DebugCheck( MapDistanceToUnit(unit->X,unit->Y,goal)!=1 );
-
-    //
-    //	Target is dead, stop getting resources.
-    //
-    if( goal->Destroyed ) {
-	DebugLevel0Fn("Destroyed unit\n");
-	RefsDebugCheck( !goal->Refs );
-	if( !--goal->Refs ) {
-	    ReleaseUnit(goal);
-	}
-	unit->Command.Data.Move.Goal=NoUnitP;
-	// FIXME: perhaps we should choose an alternative
-	unit->Command.Action=UnitActionStill;
-	unit->SubAction=0;
-	return 0;
-    } else if( goal->Removed || !goal->HP
-	    || goal->Command.Action==UnitActionDie ) {
-	RefsDebugCheck( !goal->Refs );
-	--goal->Refs;
-	RefsDebugCheck( !goal->Refs );
-	unit->Command.Data.Move.Goal=NoUnitP;
-	// FIXME: perhaps we should choose an alternative
-	unit->Command.Action=UnitActionStill;
-	unit->SubAction=0;
-	return 0;
-    }
-
-    unit->Command.Action=resource->Action;
-
-    //
-    //	If depot is still under construction, wait!
-    //
-    if( goal->Command.Action==UnitActionBuilded ) {
-        DebugLevel2Fn("Invalid depot\n");
-	return 0;
-    }
-
-    RefsDebugCheck( !goal->Refs );
-    --goal->Refs;
-    RefsDebugCheck( !goal->Refs );
-    unit->Command.Data.Move.Goal=NoUnitP;
-
-#endif
-
     //
     //	Place unit inside the depot
     //
@@ -573,7 +406,6 @@ local int WaitInDepot(Unit* unit,const Resource* resource)
 
     DebugLevel3Fn("Waiting\n");
     if( !unit->Value ) {
-#ifdef NEW_ORDERS
 	depot=resource->DepositOnMap(unit->X,unit->Y);
 	DebugCheck( !depot );
 	// Could be destroyed, but than we couldn't be in?
@@ -588,7 +420,6 @@ local int WaitInDepot(Unit* unit,const Resource* resource)
 	    DropOutNearest(unit,goal->X+goal->Type->TileWidth/2
 		    ,goal->Y+goal->Type->TileHeight/2
 		    ,depot->Type->TileWidth,depot->Type->TileHeight);
-	    ResetPath(unit->Command);
 	    unit->Orders[0].Goal=goal;
 	    RefsDebugCheck( !goal->Refs );
 	    ++goal->Refs;
@@ -601,35 +432,6 @@ local int WaitInDepot(Unit* unit,const Resource* resource)
         CheckUnitToBeDrawn(unit);
 	unit->Wait=1;
 	return unit->Orders[0].Action==resource->Action;
-#else
-	depot=resource->DepositOnMap(unit->X,unit->Y);
-	DebugCheck( !depot );
-	// Could be destroyed, but than we couldn't be in?
-
-	// FIXME: return to last position!
-	if( !(goal=resource->FindResource(unit->Player,unit->X,unit->Y)) ) {
-	    DropOutOnSide(unit,LookingW
-		,depot->Type->TileWidth,depot->Type->TileHeight);
-	    unit->Command.Action=UnitActionStill;
-	    unit->SubAction=0;
-	} else {
-	    DropOutNearest(unit,goal->X+goal->Type->TileWidth/2
-		    ,goal->Y+goal->Type->TileHeight/2
-		    ,depot->Type->TileWidth,depot->Type->TileHeight);
-	    ResetPath(unit->Command);
-	    unit->Command.Data.Move.Goal=goal;
-	    RefsDebugCheck( !goal->Refs );
-	    ++goal->Refs;
-	    unit->Command.Data.Move.Range=1;
-	    unit->Command.Data.Move.DX=-1;
-	    unit->Command.Data.Move.DY=-1;
-	    unit->Command.Action=resource->Action;
-	}
-
-        CheckUnitToBeDrawn(unit);
-	unit->Wait=1;
-	return unit->Command.Action==resource->Action;
-#endif
     }
 
     //
@@ -671,7 +473,6 @@ global void HandleActionResource(Unit* unit,const Resource* resource)
 	    if( (ret=MoveToResource(unit,resource)) ) {
 		if( ret==-1 ) {
 		    if( ++unit->SubAction==5 ) {
-#ifdef NEW_ORDERS
 			unit->Orders[0].Action=UnitActionStill;
 			unit->SubAction=0;
 			if( unit->Orders[0].Goal ) {
@@ -680,16 +481,6 @@ global void HandleActionResource(Unit* unit,const Resource* resource)
 			    RefsDebugCheck( !unit->Orders[0].Goal->Refs );
 			    unit->Orders[0].Goal=NoUnitP;
 			}
-#else
-			unit->Command.Action=UnitActionStill;
-			unit->SubAction=0;
-			if( unit->Command.Data.Move.Goal ) {
-			    RefsDebugCheck(!unit->Command.Data.Move.Goal->Refs);
-			    --unit->Command.Data.Move.Goal->Refs;
-			    RefsDebugCheck(!unit->Command.Data.Move.Goal->Refs);
-			    unit->Command.Data.Move.Goal=NoUnitP;
-			}
-#endif
 		    } else {			// Do a little delay
 			unit->Wait*=unit->SubAction;
 			DebugLevel0Fn("Retring\n");
@@ -720,7 +511,6 @@ global void HandleActionResource(Unit* unit,const Resource* resource)
 	    if( (ret=MoveToDepot(unit,resource)) ) {
 		if( ret==-1 ) {
 		    if( ++unit->SubAction==70 ) {
-#ifdef NEW_ORDERS
 			unit->Orders[0].Action=UnitActionStill;
 			unit->SubAction=0;
 			if( unit->Orders[0].Goal ) {
@@ -729,16 +519,6 @@ global void HandleActionResource(Unit* unit,const Resource* resource)
 			    RefsDebugCheck( !unit->Orders[0].Goal->Refs );
 			    unit->Orders[0].Goal=NoUnitP;
 			}
-#else
-			unit->Command.Action=UnitActionStill;
-			unit->SubAction=0;
-			if( unit->Command.Data.Move.Goal ) {
-			    RefsDebugCheck(!unit->Command.Data.Move.Goal->Refs);
-			    --unit->Command.Data.Move.Goal->Refs;
-			    RefsDebugCheck(!unit->Command.Data.Move.Goal->Refs);
-			    unit->Command.Data.Move.Goal=NoUnitP;
-			}
-#endif
 		    } else {			// Do a little delay
 			unit->Wait*=unit->SubAction-65;
 			DebugLevel0Fn("Retring\n");
diff --git a/src/action/action_returngoods.cpp b/src/action/action_returngoods.cpp
index 488267173..8dbf21410 100644
--- a/src/action/action_returngoods.cpp
+++ b/src/action/action_returngoods.cpp
@@ -51,16 +51,14 @@ global void HandleActionReturnGoods(Unit* unit)
 
     type=unit->Type;
     //
-    //	Select target to return goods.
+    //	Select target to return goods. FIXME: more races support
     //
     if( type==UnitTypeHumanWorkerWithGold || type==UnitTypeOrcWorkerWithGold ) {
-#ifdef NEW_ORDERS
 	if( !(destu=FindGoldDeposit(unit,unit->X,unit->Y)) ) {
 	    // No deposit -> can't return
 	    unit->Orders[0].Action=UnitActionStill;
 	    return;
 	}
-	ResetPath(unit->Orders[0]);
 	unit->Orders[0].Goal=destu;
 	RefsDebugCheck( !destu->Refs );
 	++destu->Refs;
@@ -68,20 +66,6 @@ global void HandleActionReturnGoods(Unit* unit)
 	unit->Orders[0].X=unit->Orders[0].Y=-1;
 	unit->Orders[0].Action=UnitActionMineGold;
 	NewResetPath(unit);
-#else
-	if( !(destu=FindGoldDeposit(unit,unit->X,unit->Y)) ) {
-	    // No deposit -> can't return
-	    unit->Command.Action=UnitActionStill;
-	    return;
-	}
-	ResetPath(unit->Command);
-	unit->Command.Data.Move.Goal=destu;
-	RefsDebugCheck( !destu->Refs );
-	++destu->Refs;
-	unit->Command.Data.Move.Range=1;
-	unit->Command.Data.Move.DX=unit->Command.Data.Move.DY=-1;
-	unit->Command.Action=UnitActionMineGold;
-#endif
 	unit->SubAction=65;	// FIXME: hardcoded
 	DebugLevel3("Wait: %d\n",unit->Wait);
 	unit->Wait=1;
@@ -89,13 +73,11 @@ global void HandleActionReturnGoods(Unit* unit)
     }
 
     if( type==UnitTypeHumanWorkerWithWood || type==UnitTypeOrcWorkerWithWood ) {
-#ifdef NEW_ORDERS
 	if( !(destu=FindWoodDeposit(unit->Player,unit->X,unit->Y)) ) {
 	    // No deposit -> can't return
 	    unit->Orders[0].Action=UnitActionStill;
 	    return;
 	}
-	ResetPath(unit->Orders[0]);
 	unit->Orders[0].Goal=destu;
 	RefsDebugCheck( !destu->Refs );
 	++destu->Refs;
@@ -106,24 +88,6 @@ global void HandleActionReturnGoods(Unit* unit)
 		,UnitNumber(destu),unit->Orders[0].X,unit->Orders[0].Y);
 	unit->Orders[0].Action=UnitActionHarvest;
 	NewResetPath(unit);
-#else
-	if( !(destu=FindWoodDeposit(unit->Player,unit->X,unit->Y)) ) {
-	    // No deposit -> can't return
-	    unit->Command.Action=UnitActionStill;
-	    return;
-	}
-	ResetPath(unit->Command);
-	unit->Command.Data.Move.Goal=destu;
-	RefsDebugCheck( !destu->Refs );
-	++destu->Refs;
-	unit->Command.Data.Move.Range=1;
-	unit->Command.Data.Move.DX=-1;
-	unit->Command.Data.Move.DY=-1;
-	DebugLevel3("Return to %Zd=%d,%d\n"
-	    ,UnitNumber(destu)
-	    ,unit->Command.Data.Move.DX,unit->Command.Data.Move.DY);
-	unit->Command.Action=UnitActionHarvest;
-#endif
 	unit->SubAction=128;		// FIXME: Hardcoded
 	DebugLevel3("Wait: %d\n",unit->Wait);
 	unit->Wait=1;
@@ -131,13 +95,11 @@ global void HandleActionReturnGoods(Unit* unit)
     }
 
     if( type==UnitTypeHumanTankerFull || type==UnitTypeOrcTankerFull ) {
-#ifdef NEW_ORDERS
 	if( !(destu=FindOilDeposit(unit->Player,unit->X,unit->Y)) ) {
 	    // No deposit -> can't return
 	    unit->Orders[0].Action=UnitActionStill;
 	    return;
 	}
-	ResetPath(unit->Orders[0]);
 	unit->Orders[0].Goal=destu;
 	RefsDebugCheck( !destu->Refs );
 	++destu->Refs;
@@ -147,24 +109,6 @@ global void HandleActionReturnGoods(Unit* unit)
 	    ,UnitNumber(destu),unit->Orders[0].X,unit->Orders[0].Y);
 	unit->Orders[0].Action=UnitActionHaulOil;
 	NewResetPath(unit);
-#else
-	if( !(destu=FindOilDeposit(unit->Player,unit->X,unit->Y)) ) {
-	    // No deposit -> can't return
-	    unit->Command.Action=UnitActionStill;
-	    return;
-	}
-	ResetPath(unit->Command);
-	unit->Command.Data.Move.Goal=destu;
-	RefsDebugCheck( !destu->Refs );
-	++destu->Refs;
-	unit->Command.Data.Move.Range=1;
-	unit->Command.Data.Move.DX=-1;
-	unit->Command.Data.Move.DY=-1;
-	DebugLevel3("Return to %Zd=%d,%d\n"
-	    ,UnitNumber(destu)
-	    ,unit->Command.Data.Move.DX,unit->Command.Data.Move.DY);
-	unit->Command.Action=UnitActionHaulOil;
-#endif
 	unit->SubAction=65;		// FIXME: Hardcoded
 	DebugLevel3("Wait: %d\n",unit->Wait);
 	unit->Wait=1;
diff --git a/src/action/action_still.cpp b/src/action/action_still.cpp
index 3d04e6a17..88d0d6a98 100644
--- a/src/action/action_still.cpp
+++ b/src/action/action_still.cpp
@@ -82,18 +82,10 @@ global void ActionStillGeneric(Unit* unit,int ground)
 	//	FIXME: the frames are hardcoded they should be configurable
 	//
 	if( unit->State==1 && type->GoldMine ) {
-#ifdef NEW_ORDERS
 	    unit->Frame=!!unit->Data.Resource.Active;
-#else
-	    unit->Frame=!!unit->Command.Data.GoldMine.Active;
-#endif
 	}
 	if( unit->State==1 && type->GivesOil ) {
-#ifdef NEW_ORDERS
 	    unit->Frame=unit->Data.Resource.Active ? 2 : 0;
-#else
-	    unit->Frame=unit->Command.Data.Resource.Active ? 2 : 0;
-#endif
 	}
     }
 
@@ -136,24 +128,12 @@ global void ActionStillGeneric(Unit* unit,int ground)
 	if( x!=unit->X || y!=unit->Y ) {
 	    if( CheckedCanMoveToMask(x,y,TypeMovementMask(type)) ) {
 		// FIXME: Don't use pathfinder for this, costs too much cpu.
-#ifdef NEW_ORDERS
 		unit->Orders[0].Action=UnitActionMove;
-		ResetPath(unit->Orders[0]);
 		DebugCheck( unit->Orders[0].Goal );
 		unit->Orders[0].Goal=NoUnitP;
 		unit->Orders[0].RangeX=unit->Orders[0].RangeY=0;
 		unit->Orders[0].X=x;
 		unit->Orders[0].Y=y;
-#else
-		unit->Command.Action=UnitActionMove;
-		ResetPath(unit->Command);
-		unit->Command.Data.Move.Goal=NoUnitP;
-		unit->Command.Data.Move.Range=0;
-		unit->Command.Data.Move.SX=unit->X;
-		unit->Command.Data.Move.SY=unit->Y;
-		unit->Command.Data.Move.DX=x;
-		unit->Command.Data.Move.DY=y;
-#endif
 	    }
 	}
 	// NOTE: critter couldn't attack automatic through the return
@@ -173,34 +153,18 @@ global void ActionStillGeneric(Unit* unit,int ground)
 		CommandAttack(unit,goal->X,goal->Y,NULL,FlushCommands);
 		DebugLevel3Fn(" %Zd Attacking in range %d\n"
 			,UnitNumber(unit),unit->SubAction);
-#ifdef NEW_ORDERS
 		unit->SavedOrder.Action=UnitActionAttack;
 		unit->SavedOrder.RangeX=unit->SavedOrder.RangeY=0;
 		unit->SavedOrder.X=unit->X;
 		unit->SavedOrder.Y=unit->Y;
 		unit->SavedOrder.Goal=NoUnitP;
-		ResetPath(unit->SavedOrder);
-		// FIXME: next isn't used: unit->SubAction|=2;
-#else
-		unit->SavedCommand.Action=UnitActionAttack;
-		unit->SavedCommand.Data.Move.Range=0;
-		unit->SavedCommand.Data.Move.DX=unit->X;
-		unit->SavedCommand.Data.Move.DY=unit->Y;
-		unit->SavedCommand.Data.Move.Goal=NoUnitP;
-		ResetPath(unit->SavedCommand);
-		unit->SubAction|=2;
-#endif
 	    }
 	} else if( (goal=AttackUnitsInRange(unit)) ) {
 	    DebugLevel3Fn(" %Zd #%d\n",UnitNumber(goal),goal->Refs);
 	    //
 	    //	Old goal destroyed.
 	    //
-#ifdef NEW_ORDERS
 	    temp=unit->Orders[0].Goal;
-#else
-	    temp=unit->Command.Data.Move.Goal;
-#endif
 	    if( temp && temp->Destroyed ) {
 		DebugLevel3Fn(" destroyed unit %Zd #%d\n"
 			,UnitNumber(temp),temp->Refs);
@@ -208,11 +172,7 @@ global void ActionStillGeneric(Unit* unit,int ground)
 		if( !--temp->Refs ) {
 		    ReleaseUnit(temp);
 		}
-#ifdef NEW_ORDERS
 		unit->Orders[0].Goal=temp=NoUnitP;
-#else
-		unit->Command.Data.Move.Goal=temp=NoUnitP;
-#endif
 	    }
 	    if( !unit->SubAction || temp!=goal ) {
 		// New target.
@@ -223,11 +183,8 @@ global void ActionStillGeneric(Unit* unit,int ground)
 		    temp->Refs--;
 		    RefsDebugCheck( !temp->Refs );
 		}
-#ifdef NEW_ORDERS
 		unit->Orders[0].Goal=goal;
-#else
-		unit->Command.Data.Move.Goal=goal;
-#endif
+		RefsDebugCheck( !goal->Refs );
 		goal->Refs++;
 		unit->State=0;
 		unit->SubAction=1;	// Mark attacking.
@@ -242,11 +199,7 @@ global void ActionStillGeneric(Unit* unit,int ground)
     }
 
     if( unit->SubAction ) {		// was attacking.
-#ifdef NEW_ORDERS
 	if( (temp=unit->Orders[0].Goal) ) {
-#else
-	if( (temp=unit->Command.Data.Move.Goal) ) {
-#endif
 	    if( temp->Destroyed ) {
 		RefsDebugCheck( !temp->Refs );
 		if( !--temp->Refs ) {
@@ -257,11 +210,7 @@ global void ActionStillGeneric(Unit* unit,int ground)
 		temp->Refs--;
 		RefsDebugCheck( !temp->Refs );
 	    }
-#ifdef NEW_ORDERS
 	    unit->Orders[0].Goal=NoUnitP;
-#else
-	    unit->Command.Data.Move.Goal=NoUnitP;
-#endif
 	}
 	unit->SubAction=unit->State=0;	// No attacking, restart
     }