diff --git a/source/Commands/CommandObjectThread.cpp b/source/Commands/CommandObjectThread.cpp
index 9d42b47..f1b528d 100644
--- a/source/Commands/CommandObjectThread.cpp
+++ b/source/Commands/CommandObjectThread.cpp
@@ -80,13 +80,7 @@
         }
         else
         {
-            thread->DumpInfo (strm,
-                              true, // Dump the stop reason?
-                              true, // Dump the thread name?
-                              true, // Dump the queue name?
-                              0);   // Display context info for stack frame zero
-
-            strm.EOL();
+            thread->DumpUsingSettingsFormat (strm, 0);
         }
 
         return true;
@@ -164,12 +158,7 @@
     if (num_frames == 0)
         return 0;
     
-    thread->DumpInfo (strm,
-                      true,     // Dump the stop reason?
-                      true,     // Dump the thread name?
-                      true,     // Dump the queue name?
-                      num_frames > 1 ? UINT32_MAX : first_frame);  // Dump info for the first stack frame if we are showing only on frame
-    strm.EOL();
+    thread->DumpUsingSettingsFormat (strm, num_frames > 1 ? UINT32_MAX : first_frame);
     strm.IndentMore();
 
     StackFrameSP frame_sp;
@@ -224,8 +213,7 @@
         if (show_frame_info)
         {
             strm.Indent();
-            frame->Dump (&strm, true, false);
-            strm.EOL();
+            frame->DumpUsingSettingsFormat (&strm);
         }
 
         SymbolContext sc (frame->GetSymbolContext(eSymbolContextCompUnit | eSymbolContextLineEntry));
