diff --git a/hardware/arduino/avr/cores/arduino/Print.cpp b/hardware/arduino/avr/cores/arduino/Print.cpp
index bc97c851f2f..971725c0abb 100644
--- a/hardware/arduino/avr/cores/arduino/Print.cpp
+++ b/hardware/arduino/avr/cores/arduino/Print.cpp
@@ -88,14 +88,12 @@ size_t Print::print(long n, int base)
 {
   if (base == 0) {
     return write(n);
-  } else if (base == 10) {
+  } else {
     if (n < 0) {
       int t = print('-');
       n = -n;
-      return printNumber(n, 10) + t;
+      return printNumber(n, base) + t;
     }
-    return printNumber(n, 10);
-  } else {
     return printNumber(n, base);
   }
 }