diff --git a/cores/arduino/avr/dtostrf.c b/cores/arduino/avr/dtostrf.c
index bd597db8d6f244e8c25dfde73789d64c85495489..ed023ea71ba2d89224fd9e93661c2da757a96e27 100644
--- a/cores/arduino/avr/dtostrf.c
+++ b/cores/arduino/avr/dtostrf.c
@@ -18,6 +18,8 @@
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
+#include <stdio.h>
+
 char *dtostrf (double val, signed char width, unsigned char prec, char *sout) {
   char fmt[20];
   sprintf(fmt, "%%%d.%df", width, prec);