         Breinify.readUserDefaults()
 
         // register PushNotifications
-        registerPushNotifications()
+        if hasRegisteredPushNotification() == true {
+            registerPushNotifications()
+        }
 
         let locUsage = Breinify.getConfig().getWithLocationManagerUsage()
         if locUsage == true {

    /// permission to send locationUpdate
    var hasPermissionToSendLocationUpdates = true

    /// singleton
    public static let shared: BreinifyManager = {
        let instance = BreinifyManager()

            let application = UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as! UIApplication
            application.applicationIconBadgeNumber = 0

            let generalCategory = UNNotificationCategory(identifier: "general", actions: [], intentIdentifiers: [], options: .customDismissAction)

            let remindLaterAction = UNNotificationAction(identifier: "remindLater", title: "Remind me later", options: UNNotificationActionOptions(rawValue: 0))
            let acceptAction = UNNotificationAction(identifier: "accept", title: "Accept", options: .foreground)
            let declineAction = UNNotificationAction(identifier: "decline", title: "Decline", options: .destructive)
            let commentAction = UNTextInputNotificationAction(identifier: "comment", title: "Comment", options: .authenticationRequired, textInputButtonTitle: "Send", textInputPlaceholder: "Share your thoughts..")
            let breinifyCategory = UNNotificationCategory(identifier: "breinify", actions: [remindLaterAction, acceptAction, declineAction, commentAction], intentIdentifiers: [], options: UNNotificationCategoryOptions(rawValue: 0))

            center.setNotificationCategories([generalCategory, breinifyCategory])
            center.requestAuthorization(options: [.badge, .sound, .alert]) { (granted, error) in
                //granted = yes, if app is authorized for all of the requested interaction types
                //granted = no, if one or more interaction type is disallowed
