diff --git a/pulse_lib/qblox/pulsar_uploader.py b/pulse_lib/qblox/pulsar_uploader.py
index 691780627ab9318aac9a75dcd6ed3f6fd86a304c..86c8a35b62dca8af0f066ed9d1f8631986b0f764 100644
--- a/pulse_lib/qblox/pulsar_uploader.py
+++ b/pulse_lib/qblox/pulsar_uploader.py
@@ -845,11 +845,19 @@ class UploadAggregator:
 
         times.append(['done', time.perf_counter()])
 
-        # NOTE: compilation is ~20% faster with listing=False, add_comments=False
+        # NOTE: compilation is ~25% faster with listing=False, add_comments=False
         if UploadAggregator.verbose:
             self.program.compile(listing=True, json=True)
         else:
-            self.program.compile(add_comments=False, listing=False, json=False)
+            retry = False
+            try:
+                self.program.compile(add_comments=False, listing=False, json=False)
+            except Exception as ex:
+                retry = True
+                print(f'Exception {ex} was raised during compilation. Compiling again with comments.')
+            if retry:
+                # retry with listing and comments.
+                self.program.compile(add_comments=True, listing=True, json=True)
 
         times.append(['compile', time.perf_counter()])