diff --git a/question_types/quiz_question/quiz_question.module b/question_types/quiz_question/quiz_question.module
index 79e97e8..733e510 100644
--- a/question_types/quiz_question/quiz_question.module
+++ b/question_types/quiz_question/quiz_question.module
@@ -122,7 +122,7 @@ function quiz_question_form_node_form_alter(&$form, &$form_state) {
   if (array_key_exists($type, _quiz_question_get_implementations())) {
     $question = _quiz_question_get_instance($form['#node']);
     $quiz_question_form = $question->getNodeForm($form_state);
-    $form = array_merge($quiz_question_form, $form);
+    $form = array_merge_recursive($quiz_question_form, $form);
   }
 }
 
@@ -188,9 +188,7 @@ function quiz_question_answering_form($form, $form_state, $node, $include_nid_in
     // is able to navigate backwards but not forced to answer correctly.
     $form['#attributes']['class'][] = 'quiz-answer-confirm';
     $form['#attributes']['data-confirm-message'] = t("By proceeding you won't be able to go back and edit your answers.");
-    $form['#attached'] = array(
-      'js' => array(drupal_get_path('module', 'quiz') . '/theme/quiz_confirm.js'),
-    );
+    $form['#attached']['js'][] = drupal_get_path('module', 'quiz') . '/theme/quiz_confirm.js';
   }
   if ($quiz->allow_skipping) {
     $form['navigation']['op']  = array(