diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp
index 456eb2f..0d6046d 100644
--- a/lib/Analysis/DataStructure/Local.cpp
+++ b/lib/Analysis/DataStructure/Local.cpp
@@ -369,12 +369,17 @@
 
 /// Handle casts...
 void GraphBuilder::visitCastInst(CastInst &CI) {
-  if (isPointerType(CI.getType())) {
-    if (isPointerType(CI.getOperand(0)->getType()))
+  if (isPointerType(CI.getType()))
+    if (isPointerType(CI.getOperand(0)->getType())) {
+      // Cast one pointer to the other, just act like a copy instruction
       setDestTo(CI, getValueDest(*CI.getOperand(0)));
-    else
-      ; // FIXME: "Other" node
-  }
+    } else {
+      // Cast something (floating point, small integer) to a pointer.  We need
+      // to track the fact that the node points to SOMETHING, just something we
+      // don't know about.  Make an "Unknown" node.
+      //
+      setDestTo(CI, createNode(DSNode::UnknownNode));
+    }
 }
 
 
diff --git a/lib/Analysis/DataStructure/Printer.cpp b/lib/Analysis/DataStructure/Printer.cpp
index fd6006c..26424be 100644
--- a/lib/Analysis/DataStructure/Printer.cpp
+++ b/lib/Analysis/DataStructure/Printer.cpp
@@ -36,12 +36,13 @@
     OS << "\n";
   }
 
-  if (N->NodeType & DSNode::AllocaNode) OS << "A";
-  if (N->NodeType & DSNode::NewNode   ) OS << "N";
-  if (N->NodeType & DSNode::GlobalNode) OS << "G";
-  if (N->NodeType & DSNode::Incomplete) OS << "I";
-  if (N->NodeType & DSNode::Modified  ) OS << "M";
-  if (N->NodeType & DSNode::Read      ) OS << "R";
+  if (N->NodeType & DSNode::AllocaNode ) OS << "A";
+  if (N->NodeType & DSNode::NewNode    ) OS << "N";
+  if (N->NodeType & DSNode::GlobalNode ) OS << "G";
+  if (N->NodeType & DSNode::UnknownNode) OS << "U";
+  if (N->NodeType & DSNode::Incomplete ) OS << "I";
+  if (N->NodeType & DSNode::Modified   ) OS << "M";
+  if (N->NodeType & DSNode::Read       ) OS << "R";
 
   for (unsigned i = 0, e = N->getGlobals().size(); i != e; ++i) {
     WriteAsOperand(OS, N->getGlobals()[i], false, true, M);
