diff --git a/Modules/audioop.c b/Modules/audioop.c
index 301b494..792c4ae 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -872,9 +872,10 @@
 	valpred = 0;
 	step = 7;
 	index = 0;
-    } else if ( !getargs(state, "(iii)", &valpred, &step, &index) )
+    } else if ( !getargs(state, "(ii)", &valpred, &index) )
       return 0;
 
+    step = stepsizeTable[index];
     bufferstep = 1;
 
     for ( i=0; i < len; i += size ) {
@@ -944,7 +945,7 @@
 	}
 	bufferstep = !bufferstep;
     }
-    rv = mkvalue("(O(iii))", str, valpred, step, index);
+    rv = mkvalue("(O(ii))", str, valpred, index);
     DECREF(str);
     return rv;
 }
@@ -975,7 +976,7 @@
 	valpred = 0;
 	step = 7;
 	index = 0;
-    } else if ( !getargs(state, "(iii)", &valpred, &step, &index) )
+    } else if ( !getargs(state, "(ii)", &valpred, &index) )
       return 0;
     
     str = newsizedstringobject(NULL, len*size*2);
@@ -983,6 +984,7 @@
       return 0;
     ncp = (signed char *)getstringvalue(str);
 
+    step = stepsizeTable[index];
     bufferstep = 0;
     
     for ( i=0; i < len*size*2; i += size ) {
@@ -1035,7 +1037,7 @@
 	else if ( size == 4 ) *LONGP(ncp, i) = (long)(valpred<<16);
     }
 
-    rv = mkvalue("(O(iii))", str, valpred, step, index);
+    rv = mkvalue("(O(ii))", str, valpred, index);
     DECREF(str);
     return rv;
 }
