esta es una de esas preguntas de php - mysql que pienso varias veces antes de lanzarlas al foro (porque puede ser algo obvio!

resulta que tengo un sencillo juego en linea, en el el cual el usuario contesta preguntas de opcion multiple cuando da clic en la opcion correcta se redirecciona a una pagina que contiene una animacion y el siguiente script php
lo que hace es buscar un registro de score (puntaje) en la base de datos leer los puntajes, incrementar el numero, y luego re-escribir (update) el registro en la BD - no es mas!,
hasta donde entiendo esto deberia funcionar, pero el extraño fenomeno es que cada vez que lo ejecuto se incrementa DOS (2) VECES

y el juego rebasa el tope y se termina antes de tiempo

he re-escrito completamente el codigo tres veces y nada

Código PHP:
<title>acertaste!</title>
<!-- finaliza la animacion hay un html de refresco automatico 0 segundos -->
<meta http-equiv="Refresh" content="0; url=jugar.html">
<?
include "config.php"; // obtengo los datos de conexion MYSQL
$conexion=$sock=mysql_connect(DBHOST,DBUSER,DBPASS);
mysql_select_db(DB);
// la seleccion
$query_select="SELECT no_preguntas,no_puntaje FROM calificaciones WHERE calificaciones.id=1";
$result_select=mysql_query($query_select,$conexion);
$fila_select=mysql_fetch_array($result_select);
$preguntas=$fila_select["no_preguntas"];
$puntaje=$fila_select["no_puntaje"];
// muestra valores actuales
echo "hay".$preguntas."preguntas";
echo "hay".$puntaje."puntaje";
// como la respuesta es correcta se incrementa el total de preguntas y el puntaje
$preguntas++;
$puntaje++;
// actualizo datos en la BD
$query_update="UPDATE `calificaciones` SET `no_preguntas` ='$preguntas',";
$query_update.="`no_puntaje` = '$puntaje' WHERE `id` = 1 LIMIT 1 ";
mysql_query($query_update,$conexion);
echo $query_select;
echo "\n";
echo $query_update;
?>
alguien sabe donde esta el error?
Gracias un mega.