                 
                 // Removals
                 query.observeEventType(.ChildRemoved, withBlock: { snapshot in
-                    if snapshot.exists() {
+                    if snapshot.exists() && !(snapshot.value is NSNull) {
                         if var json = snapshot.value as? JSONObject {
                             json[idKey] = snapshot.key
                             do {

                
                // Additions
                query.observeEventType(.ChildAdded, withBlock: { snapshot in
                    if snapshot.exists() {
                        if var json = snapshot.value as? JSONObject {
                            json[idKey] = snapshot.key
                            do {

                
                // Changes
                query.observeEventType(.ChildChanged, withBlock: { snapshot in
                    if snapshot.exists() && !(snapshot.value is NSNull) {
                        if var json = snapshot.value as? JSONObject {
                            json[idKey] = snapshot.key
                            do {
