diff --git a/lib/Parse/Arcconf.pm b/lib/Parse/Arcconf.pm
index cc73f7ea53662da7128c0ffac94f4a04af885592..db594fcff74666e0c9f628f61a5a3715c33fd9e0 100644
--- a/lib/Parse/Arcconf.pm
+++ b/lib/Parse/Arcconf.pm
@@ -206,7 +206,15 @@ sub parse_config_fh
 		} elsif ($line =~ /^\s+([^:]+)\s+:\s+(.*)$/) {
 		  my ($an, $av)= ($1, $2);
 		  $an=~ s/\s*$//;
-			$ctrl->{'logical drive'}{$current_logical_drive}{$an} = $av;
+			if (exists($ctrl->{'logical drive'}{$current_logical_drive}{$an})) {
+			  if (ref ($ctrl->{'logical drive'}{$current_logical_drive}{$an}) eq 'ARRAY') {
+			    push (@{$ctrl->{'logical drive'}{$current_logical_drive}{$an}} => $av);
+			  } else {
+			    $ctrl->{'logical drive'}{$current_logical_drive}{$an} = [$ctrl->{'logical drive'}{$current_logical_drive}{$an}, $av];
+			  }
+			} else {
+			  $ctrl->{'logical drive'}{$current_logical_drive}{$an} = $av;
+			}
 		} elsif ($line =~ /^\s+-+$/) {
 			my $cat = <$fh>;
                         $cat =~ s/^\s+(\S.*\S+)\s+/$1/;