                 }
             }
 
-            dispatch_group_enter(uploadMediaImagesGroup)
+            let uploadVoiceGroup = dispatch_group_create()
+
+            dispatch_group_enter(uploadVoiceGroup)
 
             s3UploadFileOfKind(.Feed, inFilePath: feedVoice.fileURL.path, orFileData: nil, mimeType: MessageMediaType.Audio.mineType, failureHandler: { (reason, errorMessage) in
 
                 defaultFailureHandler(reason, errorMessage: errorMessage)
 
                 dispatch_async(dispatch_get_main_queue()) {
-                    dispatch_group_leave(uploadMediaImagesGroup)
+                    dispatch_group_leave(uploadVoiceGroup)
                 }
 
             }, completion: { s3UploadParams in

            })
        }

        let uploadMediaImagesGroup = dispatch_group_create()

        switch attachment {

        case .Default:

            var uploadImageInfos = [UploadImageInfo]()


                        dispatch_async(dispatch_get_main_queue()) {
                            uploadImageInfos.append(uploadImageInfo)

                            dispatch_group_leave(uploadImagesGroup)
                        }
                    })
                }
            })

            dispatch_group_notify(uploadImagesGroup, dispatch_get_main_queue()) {

                if !uploadImageInfos.isEmpty {

