diff --git a/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeDialog.tsx b/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeDialog.tsx
index 6107adc0cf4c4a1cc774bee0cd8a7a3e01cf1ca6..05c357ca955bb872a2a25d47ae59a8f5a97fcabf 100644
--- a/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeDialog.tsx
+++ b/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeDialog.tsx
@@ -87,8 +87,8 @@ class enterReleaseCodeDialog extends React.Component<Props, any> {
                         //we only need to take care if the exercise is only visible to the owner
                         //if the release is hidden in overviews the link still works so this is ok
                         try {
-                          await this.props.accessExerciseWithCodeAsync(this.props.dialogState.releaseCode)
-                          history.push(getDoExerciseSiteToLink(this.props.dialogState.releaseCode))
+                          await this.props.accessExerciseWithCodeAsync(this.props.dialogState.releaseCode.trim())
+                          history.push(getDoExerciseSiteToLink(this.props.dialogState.releaseCode.trim()))
                         } catch (err) {
                           //error message is not shown here but in accessExerciseWithCodeAsync
                         }
diff --git a/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeView.tsx b/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeView.tsx
index d976e25f92eef0a20f51e2458f715b1d19f5c824..29f562673a422b7fcdfcba05914237fe01025069 100644
--- a/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeView.tsx
+++ b/src/components/sites/allAccessibleExercisesSite/dialogs/enterReleaseCodeView.tsx
@@ -73,8 +73,8 @@ class EnterReleaseCodeView extends React.Component<Props, any> {
                                  if (e.key.toLowerCase() !== 'enter') return
 
                                  try {
-                                   await this.props.accessExerciseWithCodeAsync(this.props.dialogState.releaseCode)
-                                   history.push(getDoExerciseSiteToLink(this.props.dialogState.releaseCode))
+                                   await this.props.accessExerciseWithCodeAsync(this.props.dialogState.releaseCode.trim())
+                                   history.push(getDoExerciseSiteToLink(this.props.dialogState.releaseCode.trim()))
                                  } catch (err) {
                                    //error message is not shown here but in accessExerciseWithCodeAsync
                                  }
diff --git a/src/constants.ts b/src/constants.ts
index 62e1f313a9b29ff6fd54cb3c1acb446d2b800ed1..4329751d6f7f2b76cd1a496d6fb336b0c28f2e1e 100644
--- a/src/constants.ts
+++ b/src/constants.ts
@@ -13,7 +13,7 @@ import Logger from './helpers/logger'
  * y - breaking changes / new features
  * z - fixes, small changes
  */
-export const versionString = '2.20.1'
+export const versionString = '2.20.2'
 
 
 export const supportMail = 'yapex@informatik.uni-halle.de'