Help with drawing multiple models?

Hello there, MonoGame newbie here.

I am attempting to draw two separate FBX models, however the second one’s being a bit weird… The first model draws just fine on it’s own, so does the second, however when I try to draw them both the second model starts misbehaving (images below). I’ve checked the .FBX files and my blender export settings but everything seems to be fine. I’m really at a loss at what to do.

Here is what the first model looks like on it’s own:

And here is the second:

But here is the two together: I suppose I should mention that at no point in my code have I added a rotation to any matrix.

Here is my code:

using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace D_O
{
    public class Game1 : Game
    {
        GraphicsDeviceManager graphics;

        Model tankBodyModel;
        Model tankHullModel;
    
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            this.Content.RootDirectory = "Content";
        }

        protected override void Initialize()
        {
            base.Initialize();
        }
    
        protected override void LoadContent()
        {
            tankBodyModel = this.Content.Load<Model>("Light_Tank_1_Body");
            tankHullModel = this.Content.Load<Model>("Light_Tank_1_Hull");

            base.LoadContent();
        }

        protected override void UnloadContent()
        {
            base.UnloadContent();
        }
    
        protected override void Update(GameTime gameTime)
        {
            base.Update(gameTime);
        }
    
        protected override void Draw(GameTime gameTime)
        {
            this.GraphicsDevice.Clear(Color.Black);

            Matrix worldMatrix = Matrix.CreateTranslation(Vector3.Zero);
        
            Matrix projectionMatrix = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, 
                this.GraphicsDevice.Viewport.AspectRatio, 
                1.0f, Single.MaxValue);

            Matrix viewMatrix = Matrix.CreateLookAt(new Vector3(0, 1000, 1000), 
                Vector3.Zero, 
                Vector3.UnitY);

            Matrix[] bodyTransforms = new Matrix[tankBodyModel.Bones.Count];
            Matrix[] hullTransforms = new Matrix[tankHullModel.Bones.Count];

            tankBodyModel.CopyAbsoluteBoneTransformsTo(bodyTransforms);
            tankHullModel.CopyAbsoluteBoneTransformsTo(hullTransforms);

            foreach (ModelMesh mesh in tankBodyModel.Meshes)
            {
                foreach (BasicEffect effect in mesh.Effects)
                {
                    effect.EnableDefaultLighting();
                    effect.World = worldMatrix * bodyTransforms[mesh.ParentBone.Index];
                    effect.View = viewMatrix;
                    effect.Projection = projectionMatrix;
                }
                mesh.Draw();
            }

            foreach (ModelMesh mesh in tankHullModel.Meshes)
            {
                foreach (BasicEffect effect in mesh.Effects)
                {
                    effect.EnableDefaultLighting();
                    effect.World = worldMatrix * hullTransforms[mesh.ParentBone.Index];
                    effect.View = viewMatrix;
                    effect.Projection = projectionMatrix;
                }
                mesh.Draw();
            }

            base.Draw(gameTime);
        }
    }
}