diff --git a/scouting/db/db.go b/scouting/db/db.go
index b4d1bca..18d54a4 100644
--- a/scouting/db/db.go
+++ b/scouting/db/db.go
@@ -249,11 +249,11 @@
 	return stats2023, result.Error
 }
 
-func (database *Database) ReturnStats2023ForTeam(teamNumber string, matchNumber int32, setNumber int32, compLevel string) ([]Stats2023, error) {
+func (database *Database) ReturnStats2023ForTeam(teamNumber string, matchNumber int32, setNumber int32, compLevel string, preScouting bool) ([]Stats2023, error) {
 	var stats2023 []Stats2023
 	result := database.
-		Where("team_number = ? AND match_number = ? AND set_number = ? AND comp_level = ?",
-			teamNumber, matchNumber, setNumber, compLevel).
+		Where("team_number = ? AND match_number = ? AND set_number = ? AND comp_level = ? AND pre_scouting = ?",
+			teamNumber, matchNumber, setNumber, compLevel, preScouting).
 		Find(&stats2023)
 	return stats2023, result.Error
 }
diff --git a/scouting/db/db_test.go b/scouting/db/db_test.go
index bef396b..9d1184a 100644
--- a/scouting/db/db_test.go
+++ b/scouting/db/db_test.go
@@ -341,7 +341,7 @@
 
 	// Validate that requesting status for a single team gets us the
 	// expected data.
-	statsFor6344, err := fixture.db.ReturnStats2023ForTeam("6344", 3, 1, "qm")
+	statsFor6344, err := fixture.db.ReturnStats2023ForTeam("6344", 3, 1, "qm", false)
 	check(t, err, "Failed ReturnStats2023()")
 
 	if !reflect.DeepEqual([]Stats2023{stats[0]}, statsFor6344) {
@@ -350,7 +350,7 @@
 
 	// Validate that requesting team data for a non-existent match returns
 	// nothing.
-	statsForMissing, err := fixture.db.ReturnStats2023ForTeam("6344", 9, 1, "qm")
+	statsForMissing, err := fixture.db.ReturnStats2023ForTeam("6344", 9, 1, "qm", false)
 	check(t, err, "Failed ReturnStats2023()")
 
 	if !reflect.DeepEqual([]Stats2023{}, statsForMissing) {
