diff --git a/db/savedata.go b/db/savedata.go
index bb792c5..021602f 100644
--- a/db/savedata.go
+++ b/db/savedata.go
@@ -20,6 +20,7 @@ package db
 import (
 	"bytes"
 	"encoding/gob"
+	"errors"
 
 	"github.com/pagefaultgames/rogueserver/defs"
 )
@@ -120,8 +121,13 @@ func GetLatestSessionSaveDataSlot(uuid []byte) (int, error) {
 }
 
 func StoreSessionSaveData(uuid []byte, data defs.SessionSaveData, slot int) error {
+	session, err := ReadSessionSaveData(uuid, slot)
+	if err != nil && session.Seed == data.Seed && session.WaveIndex > data.WaveIndex {
+		return errors.New("attempted to save an older session")
+	}
+
 	var buf bytes.Buffer
-	err := gob.NewEncoder(&buf).Encode(data)
+	err = gob.NewEncoder(&buf).Encode(data)
 	if err != nil {
 		return err
 	}