diff --git a/project/vc2008_mfc/VBA2008.vcproj b/project/vc2008_mfc/VBA2008.vcproj
index f244bd44..ad2df622 100644
--- a/project/vc2008_mfc/VBA2008.vcproj
+++ b/project/vc2008_mfc/VBA2008.vcproj
@@ -916,6 +916,14 @@
+
+
+
non_silent() && ( buf->echo == (bool)echo_phase ) )
+ if ( buf->non_silent() && ( buf->echo == !!echo_phase ) )
{
stereo_fixed_t* BLIP_RESTRICT out = (stereo_fixed_t*) &echo [echo_pos];
int const bass = BLIP_READER_BASS( *buf );
diff --git a/src/apu/Gb_Apu_State.cpp b/src/apu/Gb_Apu_State.cpp
index f726ccbd..2533bd49 100644
--- a/src/apu/Gb_Apu_State.cpp
+++ b/src/apu/Gb_Apu_State.cpp
@@ -18,7 +18,7 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
#include "blargg_source.h"
#if GB_APU_CUSTOM_STATE
- #define REFLECT( x, y ) (save ? (io->y) = (x) : (x) = (io->y) )
+ #define REFLECT( x, y ) (save ? (io->y) = (x) : (x) = !!(io->y) )
#else
#define REFLECT( x, y ) (save ? set_val( io->y, x ) : (void) ((x) = get_val( io->y )))