diff --git a/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h b/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
index 8c2d945..8a26ecf 100644
--- a/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
+++ b/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
@@ -79,9 +79,9 @@ public:
     virtual bool
     CallFrameAddressIsValid (lldb::addr_t cfa)
     {
-        // Make sure the stack call frame addresses are are 8 byte aligned
-        if (cfa & (8ull - 1ull))
-            return false;   // Not 8 byte aligned
+        // Make sure the stack call frame addresses are are 4 byte aligned
+        if (cfa & (4ull - 1ull))
+            return false;   // Not 4 byte aligned
         if (cfa == 0)
             return false;   // Zero is not a valid stack address
         return true;
diff --git a/source/Target/RegisterContext.cpp b/source/Target/RegisterContext.cpp
index 0d89db7..39449a4 100644
--- a/source/Target/RegisterContext.cpp
+++ b/source/Target/RegisterContext.cpp
@@ -456,6 +456,14 @@ RegisterContext::CalculateExecutionContext (ExecutionContext &exe_ctx)
 bool
 RegisterContext::ConvertBetweenRegisterKinds (int source_rk, uint32_t source_regnum, int target_rk, uint32_t& target_regnum)
 {
+    // FIXME: This needs a more generic fix.
+    if (target_rk == eRegisterKindLLDB)
+    {
+        target_regnum = ConvertRegisterKindToRegisterNumber(source_rk, source_regnum);
+        if (target_regnum != LLDB_INVALID_REGNUM)
+            return true;
+    }
+
     const uint32_t num_registers = GetRegisterCount();
     for (uint32_t reg = 0; reg < num_registers; ++reg)
     {
