Afaik, the only way to fix it is to scale it. You may do that automated, though: Just _enlarge_ the texture to 1024x1024 by adding white space below, then write a little script to halfen all texture coordinates in y direction:
Untested:
#include <cstdio>
#include <vector>
#include <stdint.h>
int main (int, char** argv)
{
FILE* file_in (fopen (argv[1], "r"));
FILE* file_out (fopen (argv[2], "w+"));
fseek (file_in, 0, SEEK_END);
std::vector<char> data (ftell (file_in));
fseek (file_in, 0, SEEK_SET);
fread (&data[0], data.size(), 1, file_in);
uint32_t* nVertices (reinterpret_cast<uint32_t*> (&data[0x3c]));
uint32_t* ofsVertices (reinterpret_cast<uint32_t*> (&data[0x40]));
float* tex_coord_y
(reinterpret_cast<float*> (&data[*ofsVertices + 0x24]));
for (uint32_t i (0); i < *nVertices; ++i)
{
*tex_coord_y = *tex_coord_y * 0.5;
tex_coord_y += 0x30;
}
fwrite (&data[0], data.size(), 1, file_out);
fclose (file_out);
fclose (file_in);
return 0;
}