diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,8 @@
-## [_Unreleased_](https://github.com/freckle/freckle-app/compare/v1.12.0.0...main)
+## [_Unreleased_](https://github.com/freckle/freckle-app/compare/v1.13.0.1...main)
+
+## [v1.13.0.1](https://github.com/freckle/freckle-app/compare/v1.13.0.0...v1.13.0.1)
+
+- Fixed issue with `runConsumer` synchronously committing offsets after every event
 
 ## [v1.13.0.0](https://github.com/freckle/freckle-app/compare/v1.12.0.1...v1.13.0.0)
 
diff --git a/freckle-app.cabal b/freckle-app.cabal
--- a/freckle-app.cabal
+++ b/freckle-app.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.18
 name:               freckle-app
-version:            1.13.0.0
+version:            1.13.0.1
 license:            MIT
 license-file:       LICENSE
 maintainer:         Freckle Education
diff --git a/library/Freckle/App/Kafka/Consumer.hs b/library/Freckle/App/Kafka/Consumer.hs
--- a/library/Freckle/App/Kafka/Consumer.hs
+++ b/library/Freckle/App/Kafka/Consumer.hs
@@ -12,6 +12,7 @@
 
 import Blammo.Logging
 import Control.Lens (Lens', view)
+import Control.Monad (forever)
 import Data.Aeson
 import Data.ByteString (ByteString)
 import qualified Data.List.NonEmpty as NE
@@ -167,7 +168,7 @@
   -> (a -> m ())
   -> m ()
 runConsumer pollTimeout onMessage =
-  withTraceIdContext $ immortalCreate onFinish $ do
+  withTraceIdContext $ immortalCreate onFinish $ forever $ do
     consumer <- view kafkaConsumerL
 
     flip catches handlers $ inSpan "kafka.consumer" consumerSpanArguments $ do
@@ -203,7 +204,9 @@
 
   onFinish finishResult = do
     consumer <- view kafkaConsumerL
-    logExMay "Unable to commit offsets" $ commitAllOffsets OffsetCommit consumer
+    logExMay
+      "Unable to commit offsets"
+      (silenceNoOffsetError <$> commitAllOffsets OffsetCommit consumer)
     either (logEx "Unexpected finish") pure finishResult
 
   logExMay msg f = maybe (pure ()) (logEx msg) =<< f
@@ -212,6 +215,12 @@
     logErrorNS "kafka"
       . annotatedExceptionMessageFrom (const msg)
       . AnnotatedException []
+
+  -- It should not be considered an error if we have no offsets to commit
+  silenceNoOffsetError :: Maybe KafkaError -> Maybe KafkaError
+  silenceNoOffsetError = \case
+    Just (KafkaResponseError RdKafkaRespErrNoOffset) -> Nothing
+    e -> e
 
 fromKafkaError
   :: (MonadIO m, MonadLogger m, HasCallStack)
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: freckle-app
-version: 1.13.0.0
+version: 1.13.0.1
 maintainer: Freckle Education
 category: Utils
 github: freckle/freckle-app
