diff --git a/org.eclipse.ui.intro/META-INF/MANIFEST.MF b/org.eclipse.ui.intro/META-INF/MANIFEST.MF
index f0675a0..95da6da 100644
--- a/org.eclipse.ui.intro/META-INF/MANIFEST.MF
+++ b/org.eclipse.ui.intro/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.ui.intro; singleton:=true
-Bundle-Version: 3.6.300.qualifier
+Bundle-Version: 3.6.400.qualifier
 Bundle-Activator: org.eclipse.ui.internal.intro.impl.IntroPlugin
 Bundle-Vendor: %provider_name
 Bundle-Localization: plugin
diff --git a/org.eclipse.ui.intro/pom.xml b/org.eclipse.ui.intro/pom.xml
index 329979a..9087b17 100644
--- a/org.eclipse.ui.intro/pom.xml
+++ b/org.eclipse.ui.intro/pom.xml
@@ -18,7 +18,7 @@
   </parent>
   <groupId>org.eclipse.ui</groupId>
   <artifactId>org.eclipse.ui.intro</artifactId>
-  <version>3.6.300-SNAPSHOT</version>
+  <version>3.6.400-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/model/url/IntroURL.java b/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/model/url/IntroURL.java
index b97240d..034d894 100644
--- a/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/model/url/IntroURL.java
+++ b/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/model/url/IntroURL.java
@@ -14,6 +14,8 @@
 
 package org.eclipse.ui.internal.intro.impl.model.url;
 
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
 import java.util.Enumeration;
 import java.util.Properties;
 
@@ -581,7 +583,7 @@
 					// we are told to decode the parameters of the url through
 					// the decode parameter. Assume that parameters are
 					// UTF-8 encoded.
-					return StringUtil.decode(value, "UTF-8"); //$NON-NLS-1$
+					return URLDecoder.decode(value, StandardCharsets.UTF_8);
 				return value;
 			} catch (Exception e) {
 				// should never be here.
diff --git a/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/util/StringUtil.java b/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/util/StringUtil.java
index 1a8a2e8..d99a1a3 100644
--- a/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/util/StringUtil.java
+++ b/org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/util/StringUtil.java
@@ -13,9 +13,6 @@
  *******************************************************************************/
 package org.eclipse.ui.internal.intro.impl.util;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-
 public class StringUtil {
 
 	public static String concat(String... strings) {
@@ -26,16 +23,6 @@
 		return buffer.toString();
 	}
 
-	public static String decode(String s, String enc) throws UnsupportedEncodingException {
-		try {
-			return URLDecoder.decode(s, enc);
-		}
-		catch (Exception ex) {
-			// fall back to original string
-			return s;
-		}
-	}
-
 	// Removes leading and trailing whitespace and replaces other
 	// occurrences with a single space.
 
diff --git a/org.eclipse.ui.intro/src/org/eclipse/ui/intro/contentproviders/EclipseRSSViewer.java b/org.eclipse.ui.intro/src/org/eclipse/ui/intro/contentproviders/EclipseRSSViewer.java
index 3468f40..14a15e5 100644
--- a/org.eclipse.ui.intro/src/org/eclipse/ui/intro/contentproviders/EclipseRSSViewer.java
+++ b/org.eclipse.ui.intro/src/org/eclipse/ui/intro/contentproviders/EclipseRSSViewer.java
@@ -18,11 +18,11 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -266,11 +266,7 @@
 
 
 	private String createExternalURL(String url) {
-		try {
-			return INTRO_SHOW_IN_BROWSER + URLEncoder.encode(url, "UTF-8"); //$NON-NLS-1$
-		} catch (UnsupportedEncodingException e) {
-			return INTRO_SHOW_IN_BROWSER + url;
-		}
+		return INTRO_SHOW_IN_BROWSER + URLEncoder.encode(url, StandardCharsets.UTF_8);
 	}
 
 	@Override
