diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 8deb2fe..fe068af 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -2166,14 +2166,6 @@
 
         // only process effects if we're going to write
         if (sleepTime == 0) {
-
-            if (mixerStatus == MIXER_TRACKS_READY) {
-
-                // Non-trivial for DIRECT only
-                applyVolume();
-
-            }
-
             for (size_t i = 0; i < effectChains.size(); i ++) {
                 effectChains[i]->process_l();
             }
@@ -2999,6 +2991,7 @@
     }
     sleepTime = 0;
     standbyTime = systemTime() + standbyDelay;
+    applyVolume();
 }
 
 void AudioFlinger::DirectOutputThread::threadLoop_sleepTime()
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index edf083f..621ff8f 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -1004,7 +1004,6 @@
         virtual     mixer_state prepareTracks_l(Vector< sp<Track> > *tracksToRemove);
         virtual     void        threadLoop_mix();
         virtual     void        threadLoop_sleepTime();
-        virtual     void        applyVolume();
 
         // volumes last sent to audio HAL with stream->set_volume()
         // FIXME use standard representation and names
@@ -1018,6 +1017,9 @@
         bool rampVolume;
         uint16_t leftVol;
         uint16_t rightVol;
+
+private:
+                    void        applyVolume();  // FIXME inline into threadLoop_mix()
     };
 
     class DuplicatingThread : public MixerThread {
