assert(delta > 0);
     Tick arrival_time = 0;
 
-    if (!RubySystem::getRandomization() || !m_randomization) {
+    // random delays are inserted if either RubySystem level randomization flag
+    // is turned on, or the buffer level randomization is set
+    if (!RubySystem::getRandomization() && !m_randomization) {
         // No randomization
         arrival_time = current_time + delta;
     } else {
 
     ordered = Param.Bool(False, "Whether the buffer is ordered")
     buffer_size = Param.Unsigned(0, "Maximum number of entries to buffer \
                                      (0 allows infinite entries)")
-    randomization = Param.Bool(False, "")
+    randomization = Param.Bool(False, "Insert random delays on message \
+                                       enqueue times (enforced to have \
+                                       random delays if RubySystem \
+                                       randomization flag is True)")
 
     master = MasterPort("Master port to MessageBuffer receiver")
     slave = SlavePort("Slave port from MessageBuffer sender")
 
     type = 'RubySystem'
     cxx_header = "mem/ruby/system/RubySystem.hh"
     randomization = Param.Bool(False,
-        "insert random delays on message enqueue times");
+        "insert random delays on message enqueue times (if True, all message \
+         buffers are enforced to have randomization; otherwise, a message \
+         buffer set its own flag to enable/disable randomization)");
     block_size_bytes = Param.UInt32(64,
         "default cache block size; must be a power of two");
     memory_size_bits = Param.UInt32(64,