diff --git a/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/internal/tools/pomversion/PomVersionErrorReporter.java b/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/internal/tools/pomversion/PomVersionErrorReporter.java
index 0749b51..601726d 100644
--- a/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/internal/tools/pomversion/PomVersionErrorReporter.java
+++ b/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/internal/tools/pomversion/PomVersionErrorReporter.java
@@ -7,6 +7,7 @@
  * 
  *  Contributors:
  *     IBM Corporation - initial API and implementation
+ *     Lars Vogel <Lars.Vogel@vogella.com> - Bug 489985
  *******************************************************************************/
 package org.eclipse.releng.internal.tools.pomversion;
 
@@ -430,16 +431,16 @@
 			HashMap<String, Object> attributes = new HashMap<>();
 			attributes.put(IMarker.MESSAGE, message);
 			if (severity.equals(IPomVersionConstants.VALUE_WARNING)){
-				attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
+				attributes.put(IMarker.SEVERITY, Integer.valueOf(IMarker.SEVERITY_WARNING));
 			} else {
-				attributes.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
+				attributes.put(IMarker.SEVERITY, Integer.valueOf(IMarker.SEVERITY_ERROR));
 			}
 			if (lineNumber == -1) {
 				lineNumber = 1;
 			}
-			attributes.put(IMarker.LINE_NUMBER, new Integer(lineNumber));
-			attributes.put(IMarker.CHAR_START, new Integer(charStart));
-			attributes.put(IMarker.CHAR_END, new Integer(charEnd));
+			attributes.put(IMarker.LINE_NUMBER, Integer.valueOf(lineNumber));
+			attributes.put(IMarker.CHAR_START, Integer.valueOf(charStart));
+			attributes.put(IMarker.CHAR_END, Integer.valueOf(charEnd));
 			attributes.put(IPomVersionConstants.POM_CORRECT_VERSION, correctedVersion);
 			MarkerUtilities.createMarker(pom, attributes, IPomVersionConstants.PROBLEM_MARKER_TYPE);
 		} catch (CoreException e){
diff --git a/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/tools/GetBugsOperation.java b/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/tools/GetBugsOperation.java
index 4fec14d..a5bb839 100644
--- a/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/tools/GetBugsOperation.java
+++ b/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/tools/GetBugsOperation.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
+ *     Lars Vogel <Lars.Vogel@vogella.com> - Bug 489985
  *******************************************************************************/
 package org.eclipse.releng.tools;
 
@@ -192,7 +193,7 @@
 		}
 		Matcher matcher = bugPattern.matcher(comment);
 		while (matcher.find()) {
-			Integer bugNumber = new Integer(matcher.group(1));
+			Integer bugNumber = Integer.valueOf(matcher.group(1));
 			set.add(bugNumber);
 		}
 	}
