diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracUtil.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracUtil.java
index 5f1ebf0..447cb95 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracUtil.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracUtil.java
@@ -22,6 +22,7 @@ import org.eclipse.mylyn.internal.trac.core.client.ITracClient;
 import org.eclipse.mylyn.internal.trac.core.model.TracSearch;
 import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
 import org.eclipse.mylyn.tasks.core.RepositoryStatus;
+import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
 
 /**
  * Provides static helper methods.
@@ -58,11 +59,18 @@ public class TracUtil {
 
 	private static String getQueryParameter(IRepositoryQuery query) {
 		String url = query.getUrl();
-		int i = url.indexOf(ITracClient.QUERY_URL);
-		if (i == -1) {
-			return null;
+		if (url != null) {
+			int i = url.indexOf(ITracClient.QUERY_URL);
+			if (i == -1) {
+				return null;
+			}
+			return url.substring(i + ITracClient.QUERY_URL.length());
+		} else {
+			StringBuilder sb = new StringBuilder();
+			sb.append("summary=~");
+			sb.append(query.getAttribute(TaskAttribute.SUMMARY));
+			return sb.toString();
 		}
-		return url.substring(i + ITracClient.QUERY_URL.length());
 	}
 
 	/**
