diff --git a/tools/binman/elf.py b/tools/binman/elf.py
index 47e0a3f..bc4966e 100644
--- a/tools/binman/elf.py
+++ b/tools/binman/elf.py
@@ -185,7 +185,7 @@
                 value = -1
                 pack_string = pack_string.lower()
             value_bytes = struct.pack(pack_string, value)
-            tout.Debug('%s:\n   insert %s, offset %x, value %x, length %d' %
+            tout.debug('%s:\n   insert %s, offset %x, value %x, length %d' %
                        (msg, name, offset, value, len(value_bytes)))
             entry.data = (entry.data[:offset] + value_bytes +
                         entry.data[offset + sym.size:])
@@ -350,7 +350,7 @@
                    mem_end - data_start)
 
 def UpdateFile(infile, outfile, start_sym, end_sym, insert):
-    tout.Notice("Creating file '%s' with data length %#x (%d) between symbols '%s' and '%s'" %
+    tout.notice("Creating file '%s' with data length %#x (%d) between symbols '%s' and '%s'" %
                 (outfile, len(insert), len(insert), start_sym, end_sym))
     syms = GetSymbolFileOffset(infile, [start_sym, end_sym])
     if len(syms) != 2:
@@ -368,4 +368,4 @@
     newdata += insert + tools.get_bytes(0, size - len(insert))
     newdata += data[syms[end_sym].offset:]
     tools.write_file(outfile, newdata)
-    tout.Info('Written to offset %#x' % syms[start_sym].offset)
+    tout.info('Written to offset %#x' % syms[start_sym].offset)
