diff --git a/internal/querynode/collection_replica.go b/internal/querynode/collection_replica.go
index 4dea0a2abe639efb0da6d5c2d968da296be7312e..ee68ec5f76130dfc5c5b63246b8e699a39fa43ac 100644
--- a/internal/querynode/collection_replica.go
+++ b/internal/querynode/collection_replica.go
@@ -540,11 +540,13 @@ func (colReplica *collectionReplica) replaceGrowingSegmentBySealedSegment(segmen
 	colReplica.mu.Lock()
 	defer colReplica.mu.Unlock()
 	if segment.segmentType != segmentTypeSealed && segment.segmentType != segmentTypeIndexing {
+		deleteSegment(segment)
 		return errors.New("unexpected segment type")
 	}
 	targetSegment, err := colReplica.getSegmentByIDPrivate(segment.ID())
 	if err == nil && targetSegment != nil {
 		if targetSegment.segmentType != segmentTypeGrowing {
+			deleteSegment(segment)
 			// target segment has been a sealed segment
 			return nil
 		}
diff --git a/internal/querynode/segment.go b/internal/querynode/segment.go
index 9f89cf83b37cf6c6c7b2b1bf5b0d82cba1cb0282..f7c7fdd8c1909db8a1848ac607be552e4d960db2 100644
--- a/internal/querynode/segment.go
+++ b/internal/querynode/segment.go
@@ -350,6 +350,10 @@ func (s *Segment) segmentInsert(offset int64, entityIDs *[]UniqueID, timestamps
 		           int sizeof_per_row,
 		           signed long int count);
 	*/
+	if s.segmentType != segmentTypeGrowing || s.enableLoadBinLog {
+		return nil
+	}
+
 	if s.segmentPtr == nil {
 		return errors.New("null seg core pointer")
 	}