diff --git a/torrent.go b/torrent.go
index <HASH>..<HASH> 100644
--- a/torrent.go
+++ b/torrent.go
@@ -1515,7 +1515,6 @@ func (t *Torrent) cancelRequestsForPiece(piece int) {
 }
 
 func (t *Torrent) onPieceCompleted(piece int) {
-	t.pendingPieces.Remove(piece)
 	t.pendAllChunkSpecs(piece)
 	t.cancelRequestsForPiece(piece)
 	for conn := range t.conns {
Remove premature update to piece priority after piece is completed

This should have prevented Torrent.piecePriorityChanged from being called, meaning requests for the completed piece were not canceled, and the piece remained in connection's piece request queue, which meant wasted effort downloading chunks for an already acquired piece.