diff --git a/ChangeLog b/ChangeLog
index 3b0f4905cae9b13be04b17631af16a958ec01b47..a552284f1e5b003cbb33f923d53583746afab753 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1887,3 +1887,6 @@
 	  by Hal Glenn.
 	* arch/arm/src/lpc17xx: Changes to compile successfully with no serial console
 	  (also submitted by Hal Glenn).
+	* graphics/nxfonts/nxfonts_convert.c:  Fixed a critical bug that caused
+	  when renderer some fonts with bits-per-pixel > 8
+
diff --git a/configs/stm3210e-eval/nxtext/Make.defs b/configs/stm3210e-eval/nxtext/Make.defs
index a144f16ab4a805d114e09b31a48e5a2b5cac6c82..110edb2d7c143f9d679814b87dc87c52ec80f6ab 100644
--- a/configs/stm3210e-eval/nxtext/Make.defs
+++ b/configs/stm3210e-eval/nxtext/Make.defs
@@ -48,24 +48,27 @@ ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
   CROSSDEV = arm-none-eabi-
   WINTOOL = y
   ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+  MAXOPTIMIZATION = -O1
 endif
 ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
   # CodeSourcery under Linux
   CROSSDEV = arm-none-eabi-
   ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-  MAXOPTIMIZATION = -O2
+  MAXOPTIMIZATION = -O1
 endif
 ifeq ($(CONFIG_STM32_DEVKITARM),y)
   # devkitARM under Windows
   CROSSDEV = arm-eabi-
   WINTOOL = y
   ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+  MAXOPTIMIZATION = -O2
 endif
 ifeq ($(CONFIG_STM32_RAISONANCE),y)
   # Raisonance RIDE7 under Windows
   CROSSDEV = arm-none-eabi-
   WINTOOL = y
   ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+  MAXOPTIMIZATION = -O2
 endif
 ifeq ($(CONFIG_STM32_BUILDROOT),y)
   # NuttX buildroot under Linux or Cygwin
@@ -82,7 +85,6 @@ ifeq ($(WINTOOL),y)
   ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
   ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
   ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nxtext/$(LDSCRIPT)}"
-  MAXOPTIMIZATION = -O2
 else
   # Linux/Cygwin-native toolchain 
   MKDEP = $(TOPDIR)/tools/mkdeps.sh
diff --git a/graphics/nxfonts/nxfonts_convert.c b/graphics/nxfonts/nxfonts_convert.c
index 429518cf028bad1d015f6f772fcba773b7372b81..b7b99e78ad88c39fae76dfa53c123039008fdc9d 100644
--- a/graphics/nxfonts/nxfonts_convert.c
+++ b/graphics/nxfonts/nxfonts_convert.c
@@ -279,8 +279,11 @@ int NXF_FUNCNAME(nxf_convert,NXFONTS_SUFFIX)
                   dptr++;
                 }
             }
-          line += stride;
         }
+
+      /* Advance to the beginning of the next line in the destination */
+
+      line += stride;
     }
 #endif
   return OK;