diff --git a/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml b/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml
index 1f46f457ac40f3e6c1c371eb7157f44bc35361de..fac7f7f8242d0e502abf0d456b72c76217a59324 100644
--- a/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml
+++ b/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml
@@ -178,25 +178,27 @@
         android:id="@+id/traceLocationOrganizerCategoriesFragment"
         android:name="de.rki.coronawarnapp.ui.eventregistration.organizer.category.TraceLocationCategoryFragment"
         android:label="TraceLocationCategoryFragment"
-        tools:layout="@layout/trace_location_organizer_category_fragment" />
-    <fragment
-        android:id="@+id/qrCodeDetailFragment"
-        android:name="de.rki.coronawarnapp.ui.eventregistration.organizer.details.QrCodeDetailFragment"
-        android:label="QrCodeDetailFragment"
-        tools:layout="@layout/trace_location_organizer_qr_code_detail_fragment" >
+        tools:layout="@layout/trace_location_organizer_category_fragment">
         <action
             android:id="@+id/action_traceLocationOrganizerCategoriesFragment_to_traceLocationCreateFragment"
             app:destination="@id/traceLocationCreateFragment" />
     </fragment>
+    <fragment
+        android:id="@+id/qrCodeDetailFragment"
+        android:name="de.rki.coronawarnapp.ui.eventregistration.organizer.details.QrCodeDetailFragment"
+        android:label="QrCodeDetailFragment"
+        tools:layout="@layout/trace_location_organizer_qr_code_detail_fragment" />
     <fragment
         android:id="@+id/traceLocationOrganizerListFragment"
         android:name="de.rki.coronawarnapp.ui.eventregistration.organizer.list.TraceLocationsFragment"
         android:label="TraceLocationCategoryFragment"
         tools:layout="@layout/trace_location_organizer_trace_locations_list_fragment">
-
         <action
             android:id="@+id/action_traceLocationOrganizerListFragment_to_traceLocationOrganizerCategoriesFragment"
             app:destination="@id/traceLocationOrganizerCategoriesFragment" />
+        <action
+            android:id="@+id/action_traceLocationOrganizerListFragment_to_traceLocationCreateFragment"
+            app:destination="@id/traceLocationCreateFragment" />
     </fragment>
     <fragment
         android:id="@+id/traceLocationCreateFragment"
@@ -206,6 +208,14 @@
         <argument
             android:name="category"
             app:argType="de.rki.coronawarnapp.ui.eventregistration.organizer.category.adapter.category.TraceLocationCategory" />
+        <argument
+            android:name="originalItem"
+            android:defaultValue="@null"
+            app:argType="de.rki.coronawarnapp.eventregistration.checkins.qrcode.TraceLocation"
+            app:nullable="true" />
+        <action
+            android:id="@+id/action_traceLocationCreateFragment_to_traceLocationOrganizerListFragment"
+            app:destination="@id/traceLocationOrganizerListFragment" />
     </fragment>
 
 </navigation>
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt
index 02e785df44918f9a7e7a7365f66d6a9f30ccf986..6d02e318fd694641c45ffa0d15656cec1b9c68d3 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt
@@ -3,7 +3,6 @@ package de.rki.coronawarnapp.ui.eventregistration.organizer.create
 import android.os.Bundle
 import android.text.format.DateFormat.is24HourFormat
 import android.view.View
-import android.widget.Toast
 import androidx.core.view.isVisible
 import androidx.core.widget.doOnTextChanged
 import androidx.fragment.app.Fragment
@@ -25,6 +24,7 @@ import de.rki.coronawarnapp.ui.durationpicker.DurationPicker
 import de.rki.coronawarnapp.ui.durationpicker.toContactDiaryFormat
 import de.rki.coronawarnapp.util.DialogHelper
 import de.rki.coronawarnapp.util.di.AutoInject
+import de.rki.coronawarnapp.util.ui.doNavigate
 import de.rki.coronawarnapp.util.ui.popBackStack
 import de.rki.coronawarnapp.util.ui.viewBindingLazy
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
@@ -66,8 +66,10 @@ class TraceLocationCreateFragment : Fragment(R.layout.trace_location_create_frag
                     DialogHelper.showDialog(getErrorDialogInstance(result.exception))
                 }
                 is TraceLocationCreateViewModel.Result.Success -> {
-                    // TODO: will be handled in another PR
-                    Toast.makeText(context, "Done! TODO: redirect to another screen", Toast.LENGTH_SHORT).show()
+                    doNavigate(
+                        TraceLocationCreateFragmentDirections
+                            .actionTraceLocationCreateFragmentToTraceLocationOrganizerListFragment()
+                    )
                 }
             }
         }
@@ -116,6 +118,20 @@ class TraceLocationCreateFragment : Fragment(R.layout.trace_location_create_frag
             it.hideKeyboard()
             viewModel.send()
         }
+
+        if (savedInstanceState == null) {
+            navArgs.originalItem?.let {
+                binding.apply {
+                    descriptionInputEdit.setText(it.description)
+                    placeInputEdit.setText(it.address)
+                }
+                viewModel.apply {
+                    begin = LocalDateTime(it.startDate)
+                    end = LocalDateTime(it.endDate)
+                    checkInLength = Duration.standardMinutes(it.defaultCheckInLengthInMinutes?.toLong() ?: 0L)
+                }
+            }
+        }
     }
 
     private fun getErrorDialogInstance(exception: Exception): DialogHelper.DialogInstance {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationEvent.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationEvent.kt
index f40e8d04bfe43b9d18b7cdafc1bc3a14a78b7c07..38db76c07f292d3230e1567e27cf6afefd9fe6e9 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationEvent.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationEvent.kt
@@ -4,6 +4,8 @@ import de.rki.coronawarnapp.eventregistration.checkins.qrcode.TraceLocation
 
 sealed class TraceLocationEvent {
 
+    data class DuplicateItem(val traceLocation: TraceLocation) : TraceLocationEvent()
+
     data class ConfirmDeleteItem(val traceLocation: TraceLocation) : TraceLocationEvent()
 
     data class ConfirmSwipeItem(val traceLocation: TraceLocation, val position: Int) : TraceLocationEvent()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsFragment.kt
index d72e35e213fd77da8ccdac0eb422ccb1e341e17e..14f6f3e68ed74f031a383abc20810a2f72a63b9b 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsFragment.kt
@@ -14,6 +14,7 @@ import com.google.android.material.transition.Hold
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.TraceLocationOrganizerTraceLocationsListFragmentBinding
 import de.rki.coronawarnapp.eventregistration.checkins.qrcode.TraceLocation
+import de.rki.coronawarnapp.ui.eventregistration.organizer.category.adapter.category.traceLocationCategories
 import de.rki.coronawarnapp.util.DialogHelper
 import de.rki.coronawarnapp.util.di.AutoInject
 import de.rki.coronawarnapp.util.list.isSwipeable
@@ -26,6 +27,7 @@ import de.rki.coronawarnapp.util.ui.popBackStack
 import de.rki.coronawarnapp.util.ui.viewBindingLazy
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
 import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
+import timber.log.Timber
 import javax.inject.Inject
 
 class TraceLocationsFragment : Fragment(R.layout.trace_location_organizer_trace_locations_list_fragment), AutoInject {
@@ -78,6 +80,9 @@ class TraceLocationsFragment : Fragment(R.layout.trace_location_organizer_trace_
                 is TraceLocationEvent.ConfirmSwipeItem -> {
                     showDeleteSingleDialog(it.traceLocation, it.position)
                 }
+                is TraceLocationEvent.DuplicateItem -> {
+                    openCreateEventFragment(it.traceLocation)
+                }
             }
         }
 
@@ -129,6 +134,21 @@ class TraceLocationsFragment : Fragment(R.layout.trace_location_organizer_trace_
         DialogHelper.showDialog(deleteAllDialog)
     }
 
+    private fun openCreateEventFragment(traceLocation: TraceLocation) {
+        val category = traceLocationCategories.find { it.type == traceLocation.type }
+        if (category == null) {
+            Timber.e("Category not found, traceLocation = $traceLocation")
+        } else {
+            findNavController().navigate(
+                TraceLocationsFragmentDirections
+                    .actionTraceLocationOrganizerListFragmentToTraceLocationCreateFragment(
+                        category,
+                        traceLocation
+                    )
+            )
+        }
+    }
+
     private fun showDeleteSingleDialog(traceLocation: TraceLocation, position: Int?) {
         AlertDialog.Builder(requireContext()).apply {
             setTitle(R.string.trace_location_organiser_list_delete_single_popup_title)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsViewModel.kt
index d30d8ea3dde9284c8b101be8fd56af4777ce18c2..639de4e4a4c27b81f3e6d349111c9033092818c2 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/list/TraceLocationsViewModel.kt
@@ -34,7 +34,7 @@ class TraceLocationsViewModel @AssistedInject constructor(
                 TraceLocationVH.Item(
                     traceLocation = traceLocation,
                     onCheckIn = { /* TODO */ },
-                    onDuplicate = { /* TODO */ },
+                    onDuplicate = { events.postValue(TraceLocationEvent.DuplicateItem(it)) },
                     onShowPrint = { /* TODO */ },
                     onClearItem = { events.postValue(TraceLocationEvent.ConfirmDeleteItem(it)) },
                     onSwipeItem = { traceLocation, position ->
diff --git a/Corona-Warn-App/src/main/res/navigation/trace_location_organizer_nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/trace_location_organizer_nav_graph.xml
index 469c3064b0886b3307b453e01a1378b3cdb37c6b..69035f13a5aa1c1326c30c8b1a6dbb18b781038b 100644
--- a/Corona-Warn-App/src/main/res/navigation/trace_location_organizer_nav_graph.xml
+++ b/Corona-Warn-App/src/main/res/navigation/trace_location_organizer_nav_graph.xml
@@ -24,7 +24,6 @@
         android:name="de.rki.coronawarnapp.ui.eventregistration.organizer.category.TraceLocationCategoryFragment"
         android:label="TraceLocationCategoryFragment"
         tools:layout="@layout/trace_location_organizer_category_fragment">
-
         <action
             android:id="@+id/action_traceLocationOrganizerCategoriesFragment_to_traceLocationCreateFragment"
             app:destination="@id/traceLocationCreateFragment" />
@@ -37,6 +36,11 @@
         <argument
             android:name="category"
             app:argType="de.rki.coronawarnapp.ui.eventregistration.organizer.category.adapter.category.TraceLocationCategory" />
+        <argument
+            android:name="originalItem"
+            android:defaultValue="@null"
+            app:argType="de.rki.coronawarnapp.eventregistration.checkins.qrcode.TraceLocation"
+            app:nullable="true" />
         <action
             android:id="@+id/action_traceLocationCreateFragment_to_traceLocationOrganizerListFragment"
             app:destination="@id/traceLocationOrganizerListFragment" />
@@ -46,10 +50,12 @@
         android:name="de.rki.coronawarnapp.ui.eventregistration.organizer.list.TraceLocationsFragment"
         android:label="TraceLocationCategoryFragment"
         tools:layout="@layout/trace_location_organizer_trace_locations_list_fragment">
-
         <action
             android:id="@+id/action_traceLocationOrganizerListFragment_to_traceLocationOrganizerCategoriesFragment"
             app:destination="@id/traceLocationOrganizerCategoriesFragment" />
+        <action
+            android:id="@+id/action_traceLocationOrganizerListFragment_to_traceLocationCreateFragment"
+            app:destination="@id/traceLocationCreateFragment" />
     </fragment>
 
 </navigation>
\ No newline at end of file