diff --git a/simuvex/s_irexpr.py b/simuvex/s_irexpr.py
index <HASH>..<HASH> 100644
--- a/simuvex/s_irexpr.py
+++ b/simuvex/s_irexpr.py
@@ -20,7 +20,10 @@ class SimIRExpr(object):
         self._post_processed = False
 
         self.expr = None
-        self.type = tyenv.typeOf(expr)
+        if expr.tag in ('Iex_BBPTR', 'Iex_VECRET'):
+            self.type = None
+        else:
+            self.type = tyenv.typeOf(expr)
 
         self.state._inspect('expr', BP_BEFORE)
 
@@ -100,6 +103,16 @@ class SimIRExpr(object):
     ### expression handlers ###
     ###########################
 
+    def _handle_BBPTR(self, expr):
+        l.warning("BBPTR IRExpr encountered. This is (probably) not bad, but we have no real idea how to handle it.")
+        self.type = "Ity_I32"
+        self.expr = self.state.BVV("WTF!")
+
+    def _handle_VECRET(self, expr):
+        l.warning("VECRET IRExpr encountered. This is (probably) not bad, but we have no real idea how to handle it.")
+        self.type = "Ity_I32"
+        self.expr = self.state.BVV("OMG!")
+
     def _handle_Get(self, expr):
         size = size_bytes(expr.type)
         self.type = expr.type
handle BBPTR and VECRET, at least as stubs