diff --git a/src/sound.js b/src/sound.js
index <HASH>..<HASH> 100644
--- a/src/sound.js
+++ b/src/sound.js
@@ -262,9 +262,8 @@ Crafty.extend({
         maxChannels: 7,
         setChannels: function (n) {
             this.maxChannels = n;
-            if (n > channels.length)
+            if (n < this.channels.length)
                 this.channels.length = n;
-
         },
 
         channels: [],
@@ -277,7 +276,7 @@ Crafty.extend({
                 }
             }
             // If necessary, create a new element, unless we've already reached the max limit
-            if (i <= this.maxChannels) {
+            if (i < this.maxChannels) {
                 var c = {
                     obj: this.audioElement(),
                     active: true,
@@ -507,4 +506,4 @@ Crafty.extend({
             }
         }
     }
-});
\ No newline at end of file
+});
Reversed compare in setChannels, corrected variable reference. Also fixed off-by-one creating channels
(cherry picked from commit 5a1dd4b8d<I>e<I>e<I>de<I>c<I>cb9)