diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c
index 90e148b94967dcf8a81e9569e766c5a474680aa0..ff400b8aaffcfbf313a1c43839b5804c5adc14d4 100644
--- a/libavcodec/ac3enc_fixed.c
+++ b/libavcodec/ac3enc_fixed.c
@@ -286,19 +286,15 @@ static int log2_tab(int16_t *tab, int n)
  * Left-shift each value in an array by a specified amount.
  * @param tab    input array
  * @param n      number of values in the array
- * @param lshift left shift amount. a negative value means right shift.
+ * @param lshift left shift amount
  */
-static void lshift_tab(int16_t *tab, int n, int lshift)
+static void lshift_tab(int16_t *tab, int n, unsigned int lshift)
 {
     int i;
 
     if (lshift > 0) {
         for (i = 0; i < n; i++)
             tab[i] <<= lshift;
-    } else if (lshift < 0) {
-        lshift = -lshift;
-        for (i = 0; i < n; i++)
-            tab[i] >>= lshift;
     }
 }