diff --git a/libraries/animation/src/AnimationCache.cpp b/libraries/animation/src/AnimationCache.cpp
index 9aa315beb8..f30d5605d7 100644
--- a/libraries/animation/src/AnimationCache.cpp
+++ b/libraries/animation/src/AnimationCache.cpp
@@ -105,8 +105,10 @@ QStringList Animation::getJointNames() const {
         return result;
     }
     QStringList names;
-    foreach (const FBXJoint& joint, _geometry->joints) {
-        names.append(joint.name);
+    if (_geometry) {
+        foreach (const FBXJoint& joint, _geometry->joints) {
+            names.append(joint.name);
+        }
     }
     return names;
 }
@@ -114,11 +116,15 @@ QStringList Animation::getJointNames() const {
 QVector<FBXAnimationFrame> Animation::getFrames() const {
     if (QThread::currentThread() != thread()) {
         QVector<FBXAnimationFrame> result;
-        BLOCKING_INVOKE_METHOD(const_cast<Animation*>(this), "getFrames", 
+        BLOCKING_INVOKE_METHOD(const_cast<Animation*>(this), "getFrames",
             Q_RETURN_ARG(QVector<FBXAnimationFrame>, result));
         return result;
     }
-    return _geometry->animationFrames;
+    if (_geometry) {
+        return _geometry->animationFrames;
+    } else {
+        return QVector<FBXAnimationFrame>();
+    }
 }
 
 const QVector<FBXAnimationFrame>& Animation::getFramesReference() const {