diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryAction.java
index 92e3132..93326e6 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryAction.java
@@ -106,7 +106,9 @@
 			if (messageDialog.getReturnCode() == IDialogConstants.YES_ID) {
 				AbstractRepositoryConnectorUi connectorUi = TasksUiPlugin.getConnectorUi(taskRepository.getConnectorKind());
 				IWizard queryWizard = connectorUi.getQueryWizard(taskRepository, null);
-				((Wizard) queryWizard).setForcePreviousAndNextButtons(true);
+				if (queryWizard instanceof Wizard) {
+					((Wizard) queryWizard).setForcePreviousAndNextButtons(true);
+				}
 
 				WizardDialog queryDialog = new WizardDialog(shell, queryWizard);
 				queryDialog.create();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewQueryAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewQueryAction.java
index adf9faa..15d7f74 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewQueryAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewQueryAction.java
@@ -77,7 +77,9 @@
 			TaskRepository taskRepository = TasksUiUtil.getSelectedRepository();
 			AbstractRepositoryConnectorUi connectorUi = TasksUiPlugin.getConnectorUi(taskRepository.getConnectorKind());
 			wizard = connectorUi.getQueryWizard(taskRepository, null);
-			((Wizard) wizard).setForcePreviousAndNextButtons(true);
+			if (wizard instanceof Wizard) {
+				((Wizard) wizard).setForcePreviousAndNextButtons(true);
+			}
 			if (connectorUi instanceof LocalRepositoryConnectorUi) {
 				wizard.performFinish();
 				return;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryWizard.java
index d25488b..2c446f2 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryWizard.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryWizard.java
@@ -157,7 +157,9 @@
 			if (messageDialog.getReturnCode() == IDialogConstants.YES_ID) {
 				AbstractRepositoryConnectorUi connectorUi = TasksUiPlugin.getConnectorUi(taskRepository.getConnectorKind());
 				final IWizard queryWizard = connectorUi.getQueryWizard(taskRepository, null);
-				((Wizard) queryWizard).setForcePreviousAndNextButtons(true);
+				if (queryWizard instanceof Wizard) {
+					((Wizard) queryWizard).setForcePreviousAndNextButtons(true);
+				}
 
 				// execute delayed to avoid stacking dialogs
 				getShell().getDisplay().asyncExec(new Runnable() {
