# Why is my mesh outside its collision component grid?

I've created a blueprint (well, two of them, as a test since the first one wasn't working right) with an sphere component around a mesh, as in the picture:

As you can see, the mesh is well placed inside the collision component outer grid lines, but when I place this blueprint in the editor the mesh appears displaced from the grid:

I've checked this is not a merely visual bug of the editor; the collision component is really at different coordinates than the mesh, making all kind of strange collisions and side effects. However, I fail to see why is this happening, or what can I do to solve it. The blueprint is based on a custom C++ class, but I'm not making anything related to position in there. I paste the full code of that class:

#include "FPSBall.h"

// Sets default values
AFPSBall::AFPSBall(const FObjectInitializer& ObjectInitializer)
{
// Crear una malla
MeshComp = ObjectInitializer.CreateDefaultSubobject<UStaticMeshComponent>(this, TEXT("Mesh"));
MeshComp->SetMobility(EComponentMobility::Movable);

// Crear un component esfèric per a les colisions
CollisionComp = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(this, TEXT("Envolvent esferic"));
CollisionComp->BodyInstance.SetCollisionProfileName("Pilota");
RootComponent = CollisionComp;

// Valors inicials de transformació
Velocitat = 0.0f;
Direccio = FVector(1, 2, 3);
Rotacio = FRotator(3, 2, 1);
}

void AFPSBall::Shoot(float velocitat, FVector a_on, FRotator spin, FVector hit)
{
Velocitat = velocitat;
Direccio = a_on;
Rotacio = spin;