diff --git a/go/zodb/storage/fs1/filestorage.go b/go/zodb/storage/fs1/filestorage.go
index aadd195c61a08e9581460d1893bc8bb2c76414a7..5e5b9c7daf605d697cf4c8bfa9845e637befa2f8 100644
--- a/go/zodb/storage/fs1/filestorage.go
+++ b/go/zodb/storage/fs1/filestorage.go
@@ -623,24 +623,6 @@ mainloop:
 	}
 }
 
-/*
-// XXX doc
-func (fs *FileStorage) Watch(ctx context.Context) (_ zodb.Tid, _ []zodb.Oid, err error) {
-	defer xerr.Contextf(&err, "%s: watch", fs.file.Name())
-
-	select {
-	case <-ctx.Done():
-		return zodb.InvalidTid, nil, ctx.Err()
-
-	case <-fs.down:
-		return zodb.InvalidTid, nil, os.ErrClosed // FIXME -> proper error
-
-	case w := <-fs.watchq:
-		return w.tid, w.oidv, nil
-	}
-}
-*/
-
 // --- open + rebuild index ---
 
 func (fs *FileStorage) shutdown() {
@@ -652,6 +634,8 @@ func (fs *FileStorage) shutdown() {
 
 func (fs *FileStorage) Close() error {
 	fs.shutdown()
+	// XXX wait for watcher?
+
 	if fs.errClose != nil {
 		return &zodb.OpError{URL: fs.URL(), Op: "close", Args: nil, Err: fs.errClose}
 	}
diff --git a/go/zodb/storage/fs1/filestorage_test.go b/go/zodb/storage/fs1/filestorage_test.go
index af385bc09808534c0c8d7e5c71298d6aaff0b35a..925b1361bfd5e210972511380832a430b31c44bd 100644
--- a/go/zodb/storage/fs1/filestorage_test.go
+++ b/go/zodb/storage/fs1/filestorage_test.go
@@ -354,14 +354,14 @@ func BenchmarkIterate(b *testing.B) {
 	b.StopTimer()
 }
 
-// XXX kill
-var tracef = func(format string, argv ...interface{}) {
-	log.Printf("W  " + format, argv...)
-}
-
-func init() {
-	log.SetFlags(log.Lmicroseconds)
-}
+// // XXX kill
+// var tracef = func(format string, argv ...interface{}) {
+// 	log.Printf("W  " + format, argv...)
+// }
+// 
+// func init() {
+// 	log.SetFlags(log.Lmicroseconds)
+// }
 
 
 
@@ -412,8 +412,8 @@ func TestWatch(t *testing.T) {
 	}
 
 	xcommit := func(at zodb.Tid, objv ...Object) zodb.Tid {
-		tracef("-> xcommit %s", at)
-		defer tracef("<- xcommit")
+		//tracef("-> xcommit %s", at)
+		//defer tracef("<- xcommit")
 		t.Helper()
 		tid, err := zcommit(at, objv...)
 		if err != nil {
@@ -483,3 +483,8 @@ func TestWatch(t *testing.T) {
 	//	t.Fatalf("watch after close -> %v;  want: cause %v", err, eWant)
 	//}
 }
+
+// TestOpenRecovery verifies how Open handles data file with not-finished voted
+// transaction in the end.
+func TestOpenRecovery(t *testing.T) {
+}