diff --git a/cmd/sb51/doc.go b/cmd/sb51/doc.go
index 55cacea..2f4c812 100644
--- a/cmd/sb51/doc.go
+++ b/cmd/sb51/doc.go
@@ -25,21 +25,21 @@
 // Sample run (assuming a syncbase service is mounted at '/:8101/syncbase',
 // otherwise specify using -service flag):
 //     > $JIRI_ROOT/release/go/bin/sb51 sh -create-missing -make-demo -format=csv demoapp demodb
-//     ? select v.Name, v.Address.State from DemoCustomers where Type(v) = "Customer";
+//     ? select v.Name, v.Address.State from Customers where Type(v) = "Customer";
 //     v.Name,v.Address.State
 //     John Smith,CA
 //     Bat Masterson,IA
-//     ? select v.CustId, v.InvoiceNum, v.ShipTo.Zip, v.Amount from DemoCustomers where Type(v) = "Invoice" and v.Amount > 100;
+//     ? select v.CustId, v.InvoiceNum, v.ShipTo.Zip, v.Amount from Customers where Type(v) = "Invoice" and v.Amount > 100;
 //     v.CustId,v.InvoiceNum,v.ShipTo.Zip,v.Amount
 //     2,1001,50055,166
 //     2,1002,50055,243
 //     2,1004,50055,787
-//     ? select k, v fro DemoCustomers;
+//     ? select k, v fro Customers;
 //     Error:
-//     select k, v fro DemoCustomers
+//     select k, v fro Customers
 //                 ^
 //     13: Expected 'from', found fro.
-//     ? select k, v from DemoCustomers;
+//     ? select k, v from Customers;
 //     k,v
 //     001,"{Name: ""John Smith"", Id: 1, Active: true, Address: {Street: ""1 Main St."", City: ""Palo Alto"", State: ""CA"", Zip: ""94303""}, Credit: {Agency: Equifax, Report: EquifaxReport: {Rating: 65}}}"
 //     001001,"{CustId: 1, InvoiceNum: 1000, Amount: 42, ShipTo: {Street: ""1 Main St."", City: ""Palo Alto"", State: ""CA"", Zip: ""94303""}}"
diff --git a/cmd/sb51/internal/demodb/db.go b/cmd/sb51/internal/demodb/db.go
index ba1ce45..88b84f5 100644
--- a/cmd/sb51/internal/demodb/db.go
+++ b/cmd/sb51/internal/demodb/db.go
@@ -24,8 +24,6 @@
 	rows []kv
 }
 
-const demoPrefix = "Demo"
-
 var demoTables = []table{
 	table{
 		name: "Customers",
@@ -115,15 +113,14 @@
 // recreated if they already exist.
 func PopulateDemoDB(ctx *context.T, db nosql.Database) error {
 	for i, t := range demoTables {
-		tn := demoPrefix + t.name
-		if err := db.Table(tn).Destroy(ctx); err != nil {
-			return fmt.Errorf("failed destroying table %s (%d/%d): %v", tn, i+1, len(demoTables), err)
+		if err := db.Table(t.name).Destroy(ctx); err != nil {
+			return fmt.Errorf("failed destroying table %s (%d/%d): %v", t.name, i+1, len(demoTables), err)
 		}
-		if err := db.Table(tn).Create(ctx, nil); err != nil {
-			return fmt.Errorf("failed creating table %s (%d/%d): %v", tn, i+1, len(demoTables), err)
+		if err := db.Table(t.name).Create(ctx, nil); err != nil {
+			return fmt.Errorf("failed creating table %s (%d/%d): %v", t.name, i+1, len(demoTables), err)
 		}
 		if err := nosql.RunInBatch(ctx, db, wire.BatchOptions{}, func(db nosql.BatchDatabase) error {
-			dt := db.Table(tn)
+			dt := db.Table(t.name)
 			for _, kv := range t.rows {
 				if err := dt.Put(ctx, kv.key, kv.value); err != nil {
 					return err
@@ -131,7 +128,7 @@
 			}
 			return nil
 		}); err != nil {
-			return fmt.Errorf("failed populating table %s (%d/%d): %v", tn, i+1, len(demoTables), err)
+			return fmt.Errorf("failed populating table %s (%d/%d): %v", t.name, i+1, len(demoTables), err)
 		}
 	}
 	return nil
diff --git a/cmd/sb51/shell.go b/cmd/sb51/shell.go
index 927b7b2..fb28d3c 100644
--- a/cmd/sb51/shell.go
+++ b/cmd/sb51/shell.go
@@ -121,6 +121,7 @@
 				case "dump":
 					err = dumpDB(ctx, env.Stdout, d)
 				case "make-demo":
+					// TODO(jkline): add an "Are you sure prompt" to give the user a 2nd chance.
 					err = makeDemoDB(ctx, d)
 				case "select":
 					err = queryExec(ctx, env.Stdout, d, q)
