diff --git a/snippets/stkwalk.py b/snippets/stkwalk.py
index b487683..e04e3c1 100644
--- a/snippets/stkwalk.py
+++ b/snippets/stkwalk.py
@@ -145,24 +145,23 @@ def printProcess(process,processFilter,threadFilter,moduleFilter,funcFilter,prin
                 stkWow64 = []
 
                 if processWow64 and printopt.showWow64stack == True:
+
+                    cpuMode = getCPUMode()
+
                     try:
 
-                        switchCPUMode();
+                        setCPUMode(CPUType.I386)
 
-                        try:
-                            if not wow64reloaded:
-                                dbgCommand( ".reload /user" )
-                                wow64reloaded = True
-                            stkWow64 = getStack()
-
-                        except MemoryException:
-                            pass
-
-                        switchCPUMode();
+                        if not wow64reloaded:
+                            dbgCommand( ".reload /user" )
+                            wow64reloaded = True
+                        stkWow64 = getStack()
 
                     except DbgException:
                         pass
 
+                    setCPUMode(cpuMode)
+
             
                 stk = []