diff --git a/etc/caseDicts/annotated/runTimePostProcessingDict b/etc/caseDicts/annotated/runTimePostProcessingDict
index 92f4b2112f03e143887464c4bc8b0b58831d9385..d68d0570c272f7fbe351c14e27c4fe6e9275085c 100644
--- a/etc/caseDicts/annotated/runTimePostProcessingDict
+++ b/etc/caseDicts/annotated/runTimePostProcessingDict
@@ -173,8 +173,8 @@ surfaces
             visible         no;
             position        (0.8 0.1);
             vertical        yes;
-            fontSize        16;
-            titleSize       18;
+            // fontSize        0;  // automatic sizing
+            // titleSize       0;  // automatic sizing
             title           "velocity [m/s]";
             labelFormat     "%6.2f";
             numberOfLabels  5;
diff --git a/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg b/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg
index cf5ab38a1cb54e889c98f1bcfea697d3f9bc0576..911cee5374a5a6dd092ad4cd743b4aeb7623dd2d 100644
--- a/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg
+++ b/etc/caseDicts/postProcessing/visualization/runTimePostPro.cfg
@@ -80,7 +80,7 @@ scalarBar
         vertical        true;
         position        (0.8 0.1);
         size            (0.1 0.75);
-        fontSize        16;
+        fontSize        0;   // auto
         labelFormat     "%f";
         numberOfLabels  5;
         bold            yes;
@@ -94,7 +94,7 @@ scalarBar
         vertical        false;
         position        (0.2 0.1);
         size            (0.6 0.1);
-        fontSize        16;
+        fontSize        0;   // auto
         labelFormat     "%f";
         numberOfLabels  5;
         bold            yes;
diff --git a/src/functionObjects/graphics/runTimePostProcessing/scalarBar.C b/src/functionObjects/graphics/runTimePostProcessing/scalarBar.C
index cfd24195301f42a56743ec57dbba79494235d5e8..95a5413c2d6e57b6246d919c128f427c013c99e0 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/scalarBar.C
+++ b/src/functionObjects/graphics/runTimePostProcessing/scalarBar.C
@@ -57,8 +57,8 @@ void Foam::functionObjects::runTimePostPro::scalarBar::clear()
     position_ = {0.8, 0.1};
     size_ = {0.1, 0.5};
     title_ = "";
-    fontSize_ = 12;
-    titleSize_ = 0;   // 0 == Auto-sizing (factor 3)
+    fontSize_ = 0;    // 0 == Auto-sizing (defaultFontSize)
+    titleSize_ = 0;   // 0 == Auto-sizing (defaultTitleSizeFactor)
     nLabels_ = 5;
     labelFormat_ = "%f";
 }
@@ -121,6 +121,8 @@ bool Foam::functionObjects::runTimePostPro::scalarBar::add
         return false;
     }
 
+    const label fontSizeValue = (fontSize_ ? fontSize_ : defaultFontSize);
+
     auto sbar = vtkSmartPointer<vtkScalarBarActor>::New();
     sbar->SetLookupTable(lut);
     sbar->SetNumberOfLabels(nLabels_);
@@ -139,6 +141,8 @@ bool Foam::functionObjects::runTimePostPro::scalarBar::add
     if (titleHack_)
     {
         // Place the scalar bar title ourselves
+        sbar->SetUnconstrainedFontSize(true);
+
         titleActor = vtkSmartPointer<vtkTextActor>::New();
         titleActor->SetInput(title_.c_str());
 
@@ -148,6 +152,7 @@ bool Foam::functionObjects::runTimePostPro::scalarBar::add
     else
     {
         // Use the standard scalar bar title
+        sbar->SetUnconstrainedFontSize(fontSize_ != 0);
         sbar->SetTitle(title_.c_str());
         titleProp = sbar->GetTitleTextProperty();
     }
@@ -163,11 +168,11 @@ bool Foam::functionObjects::runTimePostPro::scalarBar::add
     }
     else
     {
-        // Auto = Factor 3 of fontSize
-        titleProp->SetFontSize(3*fontSize_);
+        // Auto
+        titleProp->SetFontSize(defaultTitleSizeFactor*fontSizeValue);
 
         // Or this??
-        // if (!titleHack_) titleProp->SetFontSize(fontSize_);
+        // if (!titleHack_) titleProp->SetFontSize(fontSizeValue);
     }
 
     titleProp->SetJustificationToCentered();
@@ -178,14 +183,16 @@ bool Foam::functionObjects::runTimePostPro::scalarBar::add
 
     titleProp->SetColor(textColour[0], textColour[1], textColour[2]);
 
-
     auto labProp = sbar->GetLabelTextProperty();
 
     labProp->SetColor(textColour[0], textColour[1], textColour[2]);
 
-    labProp->SetFontSize(fontSize_);
+    if (titleHack_ || fontSize_)
+    {
+        labProp->SetFontSize(fontSizeValue);
+    }
     labProp->ShadowOff();
-    labProp->BoldOff();
+    labProp->BoldOff();     // or: labProp->SetBold(bold_);
     labProp->ItalicOff();
 
     // Positioning
diff --git a/src/functionObjects/graphics/runTimePostProcessing/scalarBar.H b/src/functionObjects/graphics/runTimePostProcessing/scalarBar.H
index ce3280e274592dcd2e9f9468d8d445bb4414e66f..5507444deecc8caf3b39c23cf72b48b7615b2389 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/scalarBar.H
+++ b/src/functionObjects/graphics/runTimePostProcessing/scalarBar.H
@@ -35,7 +35,7 @@ Description
         position    | Viewport position (x y) of scalar bar | yes |
         vertical    | Vertical scalar bar                   | no  | true
         size        | Viewport size (x y) of scalar bar     | no  | auto
-        fontSize    | Label size                            | no  | 12
+        fontSize    | Label size                            | no  | 0 == auto
         titleSize   | Title font size                       | no  | 0 == auto
         labelFormat | Label format string (eg, "%f")        | no  | "%f"
         numberOfLabels | Total number of labels             | no  | 5
@@ -45,6 +45,19 @@ Description
         titleHack   | Alternative placement strategy        | no  | yes
     \endtable
 
+Note
+    The \c titleHack option is a leftover from much older VTK versions
+    that had poor handling of the scalar bar text. When this is active,
+    the normal scalar bar title is suppressed and placed manually
+    (with a predefined ratio of the base font-size).
+
+    When the titleHack is off, the label and title font sizes are
+    automatically defined by the scalar bar size but can be overridden with
+    provided values.
+
+    The effect of fontSize and titleSize is unfortunately not consistent
+    between titleHack on/off.
+
 SourceFiles
     scalarBar.C
 
@@ -77,6 +90,12 @@ namespace runTimePostPro
 
 class scalarBar
 {
+    //- The default font size when titleHack is on
+    static constexpr const label defaultFontSize = 18;
+
+    //- The auto title/label ratio when titleHack is on
+    static constexpr const float defaultTitleSizeFactor = 1.5;
+
     bool visible_;
     bool vertical_;
     bool bold_;
diff --git a/tutorials/incompressible/simpleFoam/windAroundBuildings/system/runTimePostProcessing b/tutorials/incompressible/simpleFoam/windAroundBuildings/system/runTimePostProcessing
index 4de8c7fb651475e29183e3b917af40a4859a42fb..9e758da298760ebfc4c20c1259c621f8ac1465fa 100644
--- a/tutorials/incompressible/simpleFoam/windAroundBuildings/system/runTimePostProcessing
+++ b/tutorials/incompressible/simpleFoam/windAroundBuildings/system/runTimePostProcessing
@@ -112,11 +112,11 @@ postPro1
         visible         yes;
         vertical        false;
         titleHack       false;
-        position        (0.8 0);
-        size            (0.2 0.1);
+        position        (0.75 0);
+        size            (0.22 0.1);
 
-        fontSize        8;
-        titleSize       24;
+        // fontSize        0;
+        // titleSize       0;
         title           "velocity [m/s]";
         labelFormat     "%.0f";
         numberOfLabels  5;