diff --git a/src/index.js b/src/index.js
index 7f45458483a6db984041bd6b5eeecaa3c49378c8..609b6f0bb87306b6b9c0629b64d0daf5b6e6f5c6 100644
--- a/src/index.js
+++ b/src/index.js
@@ -90,16 +90,22 @@ function updateRepo({ token, repoName, packageFile }) {
             const latestAvailable = res.body['dist-tags'].latest;
 
             if (semver.gt(latestAvailable, currentVersion)) {
-              return updateDependency(depType, depName, latestAvailable)
+              let majorUpgrade = false;
+              if (semver.major(latestAvailable) !== semver.major(currentVersion)) {
+                majorUpgrade = true;
+              }
+              return updateDependency(depType, depName, latestAvailable, majorUpgrade)
             }
           });
       });
     }, Promise.resolve());
   }
 
-  function updateDependency(depType, depName, nextVersion) {
-    const branchName = `upgrade/${depName}`;
-
+  function updateDependency(depType, depName, nextVersion, majorUpgrade) {
+    let branchName = `upgrade/${depName}`;
+    if (majorUpgrade) {
+      branchName += '-major';
+	}
     // try to checkout remote branche
     try {
       nativeCall(`git checkout ${branchName}`);
@@ -107,11 +113,11 @@ function updateRepo({ token, repoName, packageFile }) {
       nativeCall(`git checkout -b ${branchName}`);
     }
 
-    return updateBranch(branchName, depType, depName, nextVersion)
+    return updateBranch(branchName, depType, depName, nextVersion, majorUpgrade)
       .then(() => nativeCall(`git checkout master`));
   }
 
-  function updateBranch(branchName, depType, depName, nextVersion) {
+  function updateBranch(branchName, depType, depName, nextVersion, majorUpgrade) {
     let commit;
 
     return repo.getBranchCommit(branchName)
@@ -129,12 +135,15 @@ function updateRepo({ token, repoName, packageFile }) {
         pkg[depType][depName] = nextVersion;
         fs.writeFileSync(`${repoPath}/${packageFile}`, JSON.stringify(pkg, null, 2) + '\n');
 
-        return commitAndPush(commit, depName, nextVersion, branchName);
+        return commitAndPush(commit, depName, nextVersion, branchName, majorUpgrade);
       });
   }
 
-  function commitAndPush(commit, depName, nextVersion, branchName) {
-    const updateMessage = `Update ${depName} to version ${nextVersion}`;
+  function commitAndPush(commit, depName, nextVersion, branchName, majorUpgrade) {
+    let updateMessage = `Update ${depName} to version ${nextVersion}`;
+    if (majorUpgrade) {
+      updateMessage += ' (MAJOR)';
+    }
     console.log(updateMessage);
 
     let index;
@@ -176,7 +185,11 @@ function updateRepo({ token, repoName, packageFile }) {
         );
       })
       .then(() => {
-        return createPullRequest(branchName, `Update ${depName}`);
+        let prTitle = `Update ${depName}`;
+        if (majorUpgrade) {
+        	prTitle += ' (MAJOR)';
+        }
+        return createPullRequest(branchName, prTitle);
       });
   }