diff --git a/src/abg-reporter-priv.cc b/src/abg-reporter-priv.cc
index f9e08c91..fff7b55b 100644
--- a/src/abg-reporter-priv.cc
+++ b/src/abg-reporter-priv.cc
@@ -486,30 +486,25 @@ represent(const var_diff_sptr	&diff,
     {
       if (local_only && d->has_local_changes())
 	{
-	  std::ostringstream out_buffer;
-	    out_buffer
-	      << indent << "type '" << get_pretty_representation(o->get_type())
+	  out << indent << "type '" << get_pretty_representation(o->get_type())
 	      << "' of '" << o->get_qualified_name()
 	      << "' changed";
 
 	  if (d->currently_reporting())
 	    {
-	      out_buffer << " as being reported\n";
-	      begin_with_and = true;
+	      out << " as being reported\n";
 	    }
 	  else if (d->reported_once())
 	    {
-	      out_buffer << " as reported earlier\n";
-	      begin_with_and = true;
+	      out << " as reported earlier\n";
 	    }
 	  else
 	    {
-	      out_buffer << ":\n";
-	      d->report(out_buffer, indent + "  ");
-	      begin_with_and = false;
+	      out << ":\n";
+	      d->report(out, indent + "  ");
 	    }
 
-	  out << out_buffer.str();
+	  begin_with_and = true;
 	  emitted = true;
 	}
       else
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 1f574d2e..d362eb8c 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -107,6 +107,9 @@ test-abidiff-exit/test-loc-v0.bi \
 test-abidiff-exit/test-loc-v1.bi \
 test-abidiff-exit/test-loc-with-locs-report.txt \
 test-abidiff-exit/test-loc-without-locs-report.txt \
+test-abidiff-exit/test-b146198490-report.txt \
+test-abidiff-exit/test-b146198490-v0.o \
+test-abidiff-exit/test-b146198490-v1.o \
 \
 test-diff-dwarf/test0-v0.cc		\
 test-diff-dwarf/test0-v0.o			\
diff --git a/tests/data/test-abidiff-exit/test-b146198490-report.txt b/tests/data/test-abidiff-exit/test-b146198490-report.txt
new file mode 100644
index 00000000..a66500d5
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-b146198490-report.txt
@@ -0,0 +1,14 @@
+Leaf changes summary: 1 artifact changed
+Changed leaf types summary: 1 leaf type changed
+Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
+Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
+
+'struct foo at test-b146198490-v0.cc:1:1' changed:
+  type size changed from 32 to 64 (in bits)
+  there are data member changes:
+   type 'int[1]' of 'foo::bar' changed:
+     type name changed from 'int[1]' to 'int[2]'
+     array type size changed from 32 to 64
+     array type subrange 1 changed length from 1 to 2
+   and size changed from 32 to 64 (in bits) (by +32 bits)
+
diff --git a/tests/data/test-abidiff-exit/test-b146198490-v0.o b/tests/data/test-abidiff-exit/test-b146198490-v0.o
new file mode 100644
index 0000000000000000000000000000000000000000..1d40e893d4727497e66062e2b2f66b9c291742e3
GIT binary patch
diff --git a/tests/data/test-abidiff-exit/test-b146198490-v1.o b/tests/data/test-abidiff-exit/test-b146198490-v1.o
new file mode 100644
index 0000000000000000000000000000000000000000..a2550b4a08d8b08ce56c300a3cb2ef2a64edb4b4
GIT binary patch
diff --git a/tests/data/test-diff-suppr/test46-PR25128-report-1.txt b/tests/data/test-diff-suppr/test46-PR25128-report-1.txt
index b08460d4..9a974032 100644
--- a/tests/data/test-diff-suppr/test46-PR25128-report-1.txt
+++ b/tests/data/test-diff-suppr/test46-PR25128-report-1.txt
@@ -13,6 +13,6 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
    type 'unsigned long int' of 'root_domain::max_cpu_capacity' changed:
      entity changed from 'unsigned long int' to 'struct max_cpu_capacity' at sched.h:722:1
      type size changed from 64 to 192 (in bits)
-, size changed from 64 to 192 (in bits) (by +128 bits)
+   and size changed from 64 to 192 (in bits) (by +128 bits)
    'perf_domain* root_domain::pd' offset changed from 14528 to 14656 (in bits) (by +128 bits)
 
diff --git a/tests/data/test-diff-suppr/test46-PR25128-report-2.txt b/tests/data/test-diff-suppr/test46-PR25128-report-2.txt
index 558530e1..d6873cb0 100644
--- a/tests/data/test-diff-suppr/test46-PR25128-report-2.txt
+++ b/tests/data/test-diff-suppr/test46-PR25128-report-2.txt
@@ -9,6 +9,6 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
    type 'unsigned long int' of 'root_domain::max_cpu_capacity' changed:
      entity changed from 'unsigned long int' to 'struct max_cpu_capacity' at sched.h:722:1
      type size changed from 64 to 192 (in bits)
-, size changed from 64 to 192 (in bits) (by +128 bits)
+   and size changed from 64 to 192 (in bits) (by +128 bits)
    'perf_domain* root_domain::pd' offset changed from 14528 to 14656 (in bits) (by +128 bits)
 
diff --git a/tests/test-abidiff-exit.cc b/tests/test-abidiff-exit.cc
index 4cef727e..b7ca0bd7 100644
--- a/tests/test-abidiff-exit.cc
+++ b/tests/test-abidiff-exit.cc
@@ -111,6 +111,15 @@ InOutSpec in_out_specs[] =
     "data/test-abidiff-exit/test-loc-without-locs-report.txt",
     "output/test-abidiff-exit/test-loc-without-locs-report.txt"
   },
+  {
+    "data/test-abidiff-exit/test-b146198490-v0.o",
+    "data/test-abidiff-exit/test-b146198490-v1.o",
+    "",
+    "--leaf-changes-only",
+    abigail::tools_utils::ABIDIFF_ABI_CHANGE,
+    "data/test-abidiff-exit/test-b146198490-report.txt",
+    "output/test-abidiff-exit/test-b146198490-report.txt"
+  },
   {0, 0, 0 ,0,  abigail::tools_utils::ABIDIFF_OK, 0, 0}
 };
 
