diff --git a/racing.cpp b/racing.cpp
index 166db114..51d2ebdd 100644
--- a/racing.cpp
+++ b/racing.cpp
@@ -148,7 +148,8 @@ bool read_ghosts(string seed, int mcode) {
   println(hlog, "trying to read ghosts from: ", fname);
   fhstream f(fname, "rb");
   if(!f.f) return false;
-  f.get<int> ();
+  int vernum = f.get<int> ();
+  if(vernum <= 0xA600) return true; // scores removed due to the possibility of cheating
   hread(f, ghostset());
   return true;
   }
diff --git a/shmup.cpp b/shmup.cpp
index 25572d14..e79df1bc 100644
--- a/shmup.cpp
+++ b/shmup.cpp
@@ -1634,7 +1634,7 @@ void movePlayer(monster *m, int delta) {
 #if CAP_SDL
   Uint8 *keystate = SDL_GetKeyState(NULL);
   bool forcetarget = (keystate[SDLK_RSHIFT] | keystate[SDLK_LSHIFT]);
-  if(((mousepressed && !forcetarget) || facemouse) && delta > 0 && !mouseout()) {
+  if(((mousepressed && !forcetarget) || facemouse) && delta > 0 && !mouseout() && !racing::on) {
     // playermoved = true;
     hyperpoint h = inverse(m->pat) * mouseh;
     playerturn[cpid] = -atan2(h[1], h[0]);