diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c
index 1a06cd07bbd6abfe602f164b828dd70f4a965ed5..adaaee4a166ef8b6e8d83b2c17c65f5c120401b5 100644
--- a/libavcodec/flacenc.c
+++ b/libavcodec/flacenc.c
@@ -788,13 +788,11 @@ static int get_max_p_order(int max_porder, int n, int order)
 {
     int porder, max_parts;
 
-    porder = max_porder;
-    while(porder > 0) {
+    for(porder = max_porder; porder > 0; porder--) {
         max_parts = (1 << porder);
         if(!(n % max_parts) && (n > max_parts*order)) {
             break;
         }
-        porder--;
     }
     return porder;
 }