diff --git a/src/server/pfs/server/local_block_api_server.go b/src/server/pfs/server/local_block_api_server.go
index <HASH>..<HASH> 100644
--- a/src/server/pfs/server/local_block_api_server.go
+++ b/src/server/pfs/server/local_block_api_server.go
@@ -147,6 +147,9 @@ func (s *localBlockAPIServer) TagObject(ctx context.Context, request *pfsclient.
 	defer func(start time.Time) { s.Log(request, response, retErr, time.Since(start)) }(time.Now())
 	objectPath := s.objectPath(request.Object)
 	for _, tag := range request.Tags {
+		if err := os.RemoveAll(s.tagPath(tag)); err != nil {
+			return nil, err
+		}
 		if err := os.Symlink(objectPath, s.tagPath(tag)); err != nil {
 			return nil, err
 		}
Make local block semantics the same as obj's.