diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamExecution.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamExecution.scala
index 5f548172f5cedf216d40ab8c7e9d128f5cf39b5a..8857966676ae22a8a311e9c885bf8d48ff0f3b7b 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamExecution.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamExecution.scala
@@ -304,8 +304,8 @@ class StreamExecution(
               finishTrigger(dataAvailable)
               if (dataAvailable) {
                 // Update committed offsets.
-                committedOffsets ++= availableOffsets
                 batchCommitLog.add(currentBatchId)
+                committedOffsets ++= availableOffsets
                 logDebug(s"batch ${currentBatchId} committed")
                 // We'll increase currentBatchId after we complete processing current batch's data
                 currentBatchId += 1