--- srvx-1.4.0-rc3/src/chanserv.c	2010-04-07 21:28:57.000000000 +0200
+++ srvx-1.4.0-rc3-aor/src/chanserv.c	2010-04-07 21:41:50.000000000 +0200
@@ -4565,11 +4565,19 @@
            || (uData && uData->access >= cData->lvlOpts[lvlGiveOps]))
         {
             if(!(mn->modes & MODE_CHANOP))
             {
+                if(IsUserAutoOp(uData)) 
+                {
                 changes->args[used].mode = MODE_CHANOP;
                 changes->args[used++].u.member = mn;
             }
+                else if(!(mn->modes & MODE_VOICE))
+                {
+                    changes->args[used].mode = MODE_VOICE;
+                    changes->args[used++].u.member = mn;
+                }
+            }
         }
         else if(!cData->lvlOpts[lvlGiveVoice]
                 || (uData && uData->access >= cData->lvlOpts[lvlGiveVoice]))
         {
