diff --git a/dnn/burg.c b/dnn/burg.c
index 643a0d30aba47391d862806053b610a3bd4a0f6b..3d6b23b0333b43b8946c197391f94231fb058077 100644
--- a/dnn/burg.c
+++ b/dnn/burg.c
@@ -33,6 +33,7 @@ POSSIBILITY OF SUCH DAMAGE.
 #include <string.h>
 #include <assert.h>
 
+#include "arch.h"
 #include "burg.h"
 
 #define MAX_FRAME_SIZE              384 /* subfr_length * nb_subfr = ( 0.005 * 16000 + 16 ) * 4 = 384*/
@@ -241,5 +242,5 @@ float silk_burg_analysis(              /* O    returns residual energy
     }
 
     /* Return residual energy */
-    return (float)nrg_f;
+    return MAX32(0, (float)nrg_f);
 }