For n a positive integer, a group G is called core-n if H/H_G has order at most n for any subgroup H of G (here H_G is tha normal core of H, the largest normal subgroup of G contained in H). It is proved that a finite core-p p-group G has a normal abelian subgroup whose index in G is at most p^2 if p is not 2, which is the best possible bound, and at most 2^6 if p=2