diff --git a/src/output.cc b/src/output.cc
index d4bd9dc9830ebec2dc2851c2eda68c085e120113..2f7be11ecb343c44a1fee6072fda839ed40c598e 100644
--- a/src/output.cc
+++ b/src/output.cc
@@ -123,7 +123,8 @@ void* OutputStream::OutputFixedOrbits( Slice& out ) {
   uint32_t new_index = uint32_t(orbitN/conf.getNOrbitsPerFile());
   size_t n = 0;
   bool already_opened=false;
-
+  if(out.get_counts() != 0){
+  
   if ( control.running.load(std::memory_order_acquire) || control.output_force_write ) { //i.e should be writing data
     if (current_run_number != control.run_number) {
 
@@ -152,7 +153,7 @@ void* OutputStream::OutputFixedOrbits( Slice& out ) {
 
   }
 }
-
+}
 void* OutputStream::operator()( void* item ) 
 {
   Slice& out = *static_cast<Slice*>(item);