--- muse-0.7.2pre2/synti/deicsonze/deicsonze.cpp.orig	2004-12-12 21:59:35.000000000 +0100
+++ muse-0.7.2pre2/synti/deicsonze/deicsonze.cpp	2005-10-13 12:39:30.000000000 +0200
@@ -1107,7 +1107,6 @@ inline double env2AmpR(int sr, float* wt
 	  p_opVoice->envLevel=1.0;
 	  p_opVoice->coefVLevel=envD1R2coef(eg.d1r, sr);
 	}
-      return p_opVoice->envLevel;
       break;
     case DECAY:
       if (p_opVoice->envLevel>((double)eg.d1l/(double)MAXD1L)+COEFERRDECSUS)
@@ -1121,7 +1120,6 @@ inline double env2AmpR(int sr, float* wt
 	  p_opVoice->envLevel=((double)eg.d1l/(double)MAXD1L);
 	  p_opVoice->coefVLevel=envD1R2coef(eg.d2r, sr);//probably the same
 	}
-      return p_opVoice->envLevel;
       break;
     case SUSTAIN:
       if (p_opVoice->envLevel>COEFERRSUSREL)
@@ -1134,7 +1132,6 @@ inline double env2AmpR(int sr, float* wt
 	  p_opVoice->envState=OFF;
 	  p_opVoice->envLevel=0.0;
 	}
-      return p_opVoice->envLevel;
       break;
     case RELEASE:
       if (p_opVoice->envLevel > COEFERRSUSREL)
@@ -1146,13 +1143,15 @@ inline double env2AmpR(int sr, float* wt
 	  p_opVoice->envState=OFF;
 	  p_opVoice->envLevel=0.0;
 	}
-      return p_opVoice->envLevel;
       break;
-    case OFF: return 0.0;
-      break;
-    default: printf("Error case envelopeState");
+    default:
+	printf("Error case envelopeState");
+	/* fall thru */
+    case OFF:
+	p_opVoice->envLevel = 0.0;
       break;
     }
+    return p_opVoice->envLevel;
 }
 
 //---------------------------------------------------------
