Index: src/game/g_buildable.c =================================================================== --- src/game/g_buildable.c (revision 1104) +++ src/game/g_buildable.c (working copy) @@ -2965,10 +2965,6 @@ if( tr1.entityNum != ENTITYNUM_WORLD ) reason = IBE_NORMAL; - //check there is enough room to spawn from (presuming this is a spawn) - if( G_CheckSpawnPoint( -1, origin, normal, buildable, NULL ) != NULL ) - reason = IBE_NORMAL; - contents = trap_PointContents( entity_origin, -1 ); buildPoints = BG_Buildable( buildable )->buildPoints; @@ -3075,6 +3071,13 @@ if( ( tempReason = G_SufficientBPAvailable( buildable, origin ) ) != IBE_NONE ) reason = tempReason; + // Relink buildables + G_SetBuildableLinkState( qtrue ); + + //check there is enough room to spawn from (presuming this is a spawn) + if( G_CheckSpawnPoint( ENTITYNUM_NONE, origin, normal, buildable, NULL ) != NULL ) + reason = IBE_NORMAL; + //this item does not fit here if( reason == IBE_NONE && ( tr2.fraction < 1.0 || tr3.fraction < 1.0 ) ) reason = IBE_NOROOM; @@ -3082,9 +3085,6 @@ if( reason != IBE_NONE ) level.numBuildablesForRemoval = 0; - // Relink buildables - G_SetBuildableLinkState( qtrue ); - return reason; }